# Come leggo correttamente i caratteri accentati dell'italiano?

**URL:** <https://www.ruby-forum.com/t/come-leggo-correttamente-i-caratteri-accentati-dellitaliano/129876>\
**Category:** IT\
**Created:** [February 22, 2008, 10:26am UTC](https://www.ruby-forum.com/t/come-leggo-correttamente-i-caratteri-accentati-dellitaliano/129876 "2008-02-22T10:26:46Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![xaryo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/4da419/32.png) [@xaryo](https://www.ruby-forum.com/u/xaryo)\
**Post date:** [February 22, 2008, 10:26am UTC](https://www.ruby-forum.com/t/come-leggo-correttamente-i-caratteri-accentati-dellitaliano/129876/1 "2008-02-22T10:26:46Z")

</div>

Una cosa banale. Leggo un testo in italiano e ovviamente ha le lettere  
accentate che sono èòàìùé. Ora siccome mi rompono sempre le scatole  
quando porto i testi in html, con la menata della codifica caratteri,  
vorrei fare un semplice script ruby che mi prende un testo e mi converte

è -\> e’  
é -\> e’  
à -\> a’

e così via. Così quando porto il testo in rete, non ho più problemi di  
trovarmi caratteri strani a video.

Come posso fare?

Grazie  
XarYo

---

<div class="post-metadata">

**Author:** ![xaryo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/4da419/32.png) [@xaryo](https://www.ruby-forum.com/u/xaryo)\
**Post date:** [March 6, 2008, 3:55pm UTC](https://www.ruby-forum.com/t/come-leggo-correttamente-i-caratteri-accentati-dellitaliano/129876/2 "2008-03-06T15:55:46Z")

</div>

xaryo wrote:

> Una cosa banale. Leggo un testo in italiano e ovviamente ha le lettere  
> accentate che sono ï¿½ï¿½ï¿½ï¿½ï¿½ï¿½. Ora siccome mi rompono sempre le scatole  
> quando porto i testi in html, con la menata della codifica caratteri,  
> vorrei fare un semplice script ruby che mi prende un testo e mi converte
> 
> ï¿½ -\> e’  
> ï¿½ -\> e’  
> ï¿½ -\> a’
> 
> e cosï¿½ via. Cosï¿½ quando porto il testo in rete, non ho piï¿½ problemi di  
> trovarmi caratteri strani a video.
> 
> Come posso fare?
> 
> Grazie  
> XarYo

Se dal browser selezioni la codifica ISO-8859-1 li vedi i caratteri?  
PerchÃ¨ credo che dovresti impostare quella codifica nel layout della tua  
pagina per farla selezionare in automatico dal browser

se usi xhtml:

\<?xml version="1.0" encoding="ISO-8859-1"?\>

io uso anche il meta in html:

PS: ho provato e stranamente non mi seleziona in auto quel charset,  
strano perchÃ¨ ero sicuro funzionasse, purtroppo in questo momento non  
riesco a fare altre prove

---

<div class="post-metadata">

**Author:** ![xaryo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/4da419/32.png) [@xaryo](https://www.ruby-forum.com/u/xaryo)\
**Post date:** [March 6, 2008, 6:32pm UTC](https://www.ruby-forum.com/t/come-leggo-correttamente-i-caratteri-accentati-dellitaliano/129876/3 "2008-03-06T18:32:34Z")

</div>

xaryo wrote:

> Come posso fare?

credo che stai cercando di risolvere il problema sbagliato 🙂  
il problema in realtÃ Ã¨ che i caratteri accentati non ti si visualizzano  
nelle pagine html. da dove vengono quei caratteri? da un database? il db  
che codifica ha? utf-8? le pagine web in che charset vengono spedite al  
browser? in utf-8 anche loro? o in us-ascii? o in un’altra codifica? Ã¨  
importante sapere in che che codifica salvi e manipoli le varie stringhe  
che ti passano per gli applicativi quando spali i dati. usare solo  
caratteri presenti nella codifica us-ascii non Ã¨ una soluzione che  
adotterei. di solito si fa il db in utf-8, si modificano i file in utf-8  
e si mandano al browser in utf-8. in questo modo non devi convertire da  
un charset a un altro e non ti devi sbattere se un giorno dovrai fare  
uso anche di caratteri orientali o comunque al di fuori della codifica  
che stai usando.

---

<div class="post-metadata">

**Author:** ![xaryo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/4da419/32.png) [@xaryo](https://www.ruby-forum.com/u/xaryo)\
**Post date:** [March 6, 2008, 7:02pm UTC](https://www.ruby-forum.com/t/come-leggo-correttamente-i-caratteri-accentati-dellitaliano/129876/4 "2008-03-06T19:02:55Z")

</div>

S2 Akira wrote:

> xaryo wrote:
> 
> > Come posso fare?
> 
> credo che stai cercando di risolvere il problema sbagliato 🙂  
> il problema in realtÃ Ã¨ che i caratteri accentati non ti si visualizzano  
> nelle pagine html. da dove vengono quei caratteri? da un database? il db  
> che codifica ha? utf-8? le pagine web in che charset vengono spedite al  
> browser? in utf-8 anche loro? o in us-ascii? o in un’altra codifica? Ã¨  
> importante sapere in che che codifica salvi e manipoli le varie stringhe  
> che ti passano per gli applicativi quando spali i dati. usare solo  
> caratteri presenti nella codifica us-ascii non Ã¨ una soluzione che  
> adotterei. di solito si fa il db in utf-8, si modificano i file in utf-8  
> e si mandano al browser in utf-8. in questo modo non devi convertire da  
> un charset a un altro e non ti devi sbattere se un giorno dovrai fare  
> uso anche di caratteri orientali o comunque al di fuori della codifica  
> che stai usando.

Nella prova cho ho fatto io, le accentate nel db vengono mostrate  
correttamente, quelle nei messaggi dell’oggetto flash invece no. Come  
codifica della pagina c’Ã¨ sempre fisso UTF-8 (non capisco perchÃ¨ se la  
pagina la invio come iso, vabbÃ¨), se imposto ISO-8859-1, vedo  
correttamente i messaggi ma le accentate del db vanno a farsi friggere.

---

<div class="post-metadata">

**Author:** ![xaryo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/4da419/32.png) [@xaryo](https://www.ruby-forum.com/u/xaryo)\
**Post date:** [March 6, 2008, 7:11pm UTC](https://www.ruby-forum.com/t/come-leggo-correttamente-i-caratteri-accentati-dellitaliano/129876/5 "2008-03-06T19:11:02Z")

</div>

Marco M. wrote:

> Nella prova cho ho fatto io, le accentate nel db vengono mostrate  
> correttamente,

ok. non so come hai fatto le prove, ma da questo deduco che qualsiasi  
charset tu abbia impostato sul db, i dati vengono salvati corretamente.

> quelle nei messaggi dell’oggetto flash invece no. Come  
> codifica della pagina c’Ã¨ sempre fisso UTF-8

bene. negli header della pagina html quindi hai scritto UTF-8, e anche  
nel header che invia il server web?

> (non capisco perchÃ¨ se la  
> pagina la invio come iso, vabbÃ¨), se imposto ISO-8859-1, vedo  
> correttamente i messaggi

quali messaggi?

> ma le accentate del db vanno a farsi friggere.

allora direi che hai il db in UTF-8, ma i “messaggi” sono in ISO-8859-1.  
devi cercare di capire perchÃ©. usi un editor che salva i file in UTF-8?

---

<div class="post-metadata">

**Author:** ![xaryo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/x/4da419/32.png) [@xaryo](https://www.ruby-forum.com/u/xaryo)\
**Post date:** [March 7, 2008, 11:12am UTC](https://www.ruby-forum.com/t/come-leggo-correttamente-i-caratteri-accentati-dellitaliano/129876/6 "2008-03-07T11:12:46Z")

</div>

Io ho risolto i problemi di visualizzazione dei caratteri speciali  
aggiungendo nel database.yml la riga:

encoding: utf8

e cioÃ¨:

development:  
adapter: mysql  
database: softwdb  
username: root  
password:  
host: localhost  
encoding: utf8

Inoltre ho notato che la codifica dei file html generati da ROR Ã¨ sempre  
UTF-8 e quindi nell’html dovresti inserire questa codifica.

Spero di esserti stato di aiuto.

Luigi
