back to top

Il charset ISO-8859-1, lettere accentate ed entità HTML

Uno dei problemi più ricorrenti in fatto di sviluppo di pagine web è la corretta gestione del charset, cioè il set di caratteri (o codifica) con il quale viene scritto (e successivamente interpreatato) il nostro documento HTML. Il problema riguarda la corretta visualizzazione di alcuni caratteri come, nel caso dell’Italiano, le lettere accentate.

In questo articolo vi spiegherò cos’è il charset, qual’è il giusto charset per la lingua italiana e come risolvere il problema delle lettere accentate in HTML.

Il charset ISO-8859-1

Il charset utilizzato per la corretta formattazione di documenti in italiano è ISO-8859-1 (o Latin 1) che rappresenta il set di caratteri tipico dell’europa occidentale.

Questo charset, che appartiene alla famiglia ISO-8859, contiene le lettere dell’alfabeto, i numeri, la punteggiatura e vari simboli tipici della nostra lingua e delle altre lingue di derivazione latina (il set contiene 191 caratteri originati dall’alfabeto latino ed oggi ampiamente diffusi nel mondo occidentale). Tra i lionguaggi inclusi in questo set di caratteri ci sono, oltre all’italiano, l’inglese (UK e USA), il tedesco, lo spagnolo e il portoghese e molte altre (il francese, invece, non rientra nell’ISO 8859-1 ma nel set ISO-8859-15).

ISO-8859-1 e Windows-1252

La codifica ISO-8859-1 è conosciuta anche con altre codifiche che rappresentano dei suoi pseudonimi: iso-ir-100, latin1, l1, csISOLatin1, IBM819, CP819.

Spesso la codifica ISO-8859-1 viene considerata equivalente di Windows-1252 ma questa convinzione non è del tutto esatta, in quanto in quest’ultima mancano i codici tra il 128 e il 159 (in esadecimale, tra 0x80 e 0x9F) e ne aggiunge altri che le consentono di coprire correttamente anche i caratteri della lingua Francese.

Alcuni browser, se riconoscono il charset ISO-8859-1, passano automauticamente a Windows-1252 in quanto ritenuto più "internazionale".

Impostare il charset di una pagina web

Per definire correttamente il set di caratteri utilizzato in una pagina web scritta in HTML è necessario utilizzare il tag <meta>. Di seguito un esempio di codice da inserire nell’intestazione della pagina:

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">

Specificando questa intestazione avremo buone speranze (non la certezza!) che i nostri utenti riusciranno a leggere correttamente il testo scritto nel nostro documento.

Lettere accentate ed entità HTML

I caratteri che creano maggiori problemi (e maggiori mal di testa ai webmaster italiani) sono i caratteri accentati: se il nostro documento è interpretato correttamente secondo il charset ISO-8859-1 non avremo problemi e pertanto potremo tranquillamente scrivere nel codice sorgente del documento HTML le lettere accentate (come ad esempio à o é); in caso contrario, ad esempio se la codifica del nostro documento è UTF-8, dovremo avere la premura di scrivere al posto delle lettere accentate la corrispondente entità HTML. Vediamo di seguito una semplice tabella di conversione per i caratteri accentati in entità:

Vocali con accenti gravi:

  • à => &agrave;
  • è => &egrave;
  • ì => &igrave;
  • ò => &ograve;
  • ù => &ugrave;

Vocali con accenti acuti:

  • á => &aacute;
  • é => &eacute;
  • í => &iacute;
  • ó => &oacute;
  • ú => &uacute;

Come già detto, la definizione del charset nell’intestazione del documento non è garanzia di successo.

Può infatti capitare che, nonostante la corretta definizione del charset, si verifichino dei problemi causati dal charset di default del web-server (cosa frequente soprattutto se il nostro sito è hostato da un provider estero) o dal browser del nostro utente.

I problemi, inoltre, non si limitano ai caratteri accentati (che come abbiamo detto sono, tuttavia, la principale fonte di mal di testa del webmaster!) ma riguardano tantissimi altri caratteri!

Per evitare questi problemi, ed anche per rendere le pagine web più conformi agli standard del HTML, pertanto è consigliabile realizzare il codice sorgente delle nostre pagine web avendo cura di inserire direttamente le entità al posto del carattere/simbolo rappresentato!

Per fare un esempio la parola:

felicità

dovrà essere scritta – nel codice sorgente HTML – in questo modo:

felicit&agrave;

Pubblichiamo di seguito una utilissima referenza dei caratteri del charset ISO-8859-1 con le rispettive entità (nel duplice formato testuale e numerico).

La tabella di codifica ISO 8859-1

Generalmente si è soliti dividere idealmente in due parti la tabella di codifica ISO 8859-1; avremo quindi:

  • una parte bassa (che contenente i 128 caratteri ASCII: numeri, lettere dell’alfabeto minuscole e maiuscole, punteggiature e simboli vari)
  • una parte alta (che contiene i caratteri peculiari delle lingue dell’europa occidentale – caratteri da 160 a 255)

Caratteri riservati in HTML e XHTML

Tra i caratteri della "parte bassa" 5 meritano particolare attenzione: si tratta dei caratteri speciali del HTML. E’ consigliabile gestire sempre tali caratteri speciali mediante le rispettive entità, in quanto tali caratteri sono propri della sintassi dei linguaggi HTML e XHTML e pertanto il loro utilizzo diretto potrebbe creare dei problemi nell’output della pagina (in quanto potrebbero essere interpretati invece che semplicemente visualizzati!)

Entità TestualeEntità NumericaSimboloDescrizione
&quot;&#34;"virgoletta
&amp;&#38;&e commerciale
&apos;&#39;'apostrofo (l’entità testuale non funziona con IE)
&lt;&#60;<simbolo di minore
&gt;&#62;>simbolo di maggiore

Facciamo un esempio. Se volessimo scrivere:

10 > 7

dovremo avere cura di digitare questa stringa nel sorgente HTML:

10 &gt; 7

Ora vediamo di seguito la "parte alta" della tabella di codifica ISO 8859-1 (da 160 a 255):

I simboli di ISO 8859-1

Entità TestualeEntità NumericaSimboloDescrizione
&nbsp;&#160; spazio di non interruzione
&iexcl;&#161;¡punto esclamativo rovesciato
&cent;&#162;¢simbolo di centesimo
&pound&#163;£simbolo di sterlina
&curren;&#164;¤simbolo generale di valuta
&yen;&#165;¥simbolo di yen
&brvbar;&#166;¦barra interrotta (verticale)
&sect;&#167;§simbolo di sezione
&uml;&#168;¨umlaut (dieresi)
&copy;&#169;©simbolo di copyright
&ordf;&#170;ªindicatore ordinale, femminile
&laquo;&#171;«virgoletta angolare, sinistra
&not;&#172;¬simbolo di negazione
&shy;&#173;­trattino
&reg;&#174;®simbolo di registrato
&macr;&#175;¯simbolo di vocale lunga
&deg;&#176;°simbolo di grado
&plusmn;&#177;±simbolo di più o meno
&sup2;&#178;²apice due
&sup3;&#179;³apice tre
&acute;&#180;´accento acuto
&micro;&#181;µsimbolo di micro
&para;&#182;simbolo di paragrafo
&middot;&#183;·punto medio
&cedil;&#184;¸cediglia
&sup1;&#185;¹apice uno
&ordm;&#186;ºindicatore ordinale, maschile
&raquo;&#187;»virgoletta angolare, destra
&frac14;&#188;¼frazione di un quarto
&frac12;&#189;½frazione di un mezzo
&frac34;&#190;¾frazione tre quarti
&iquest;&#191;¿punto interrogativo rovesciato

Caratteri speciali di ISO 8859-1

Entità TestualeEntità NumericaSimboloDescrizione
&Agrave;&#192;ÀA maiuscola, accento grave
&Aacute;&#193;ÁA maiuscola, accento acuto
&Acirc;&#194;ÂA maiuscola, accento circonflesso
&Atilde;&#195;ÃA maiuscola, tilde
&Auml;&#196;ÄA maiuscola, dieresi
&Aring;&#197;ÅA maiuscola, cerchio
&AElig;&#198;Ædittongo AE maiuscolo (legatura)
&Ccedil;&#199;ÇC maiuscola, cediglia
&Egrave;&#200;ÈE maiuscola, accento grave
&Eacute;&#201;ÉE maiuscola, accento acuto
&Ecirc;&#202;ÊE maiuscola, accento circonflesso
&Euml;&#203;ËE maiuscola, dieresi
&Igrave;&#204;ÌI maiuscola, accento grave
&Iacute;&#205;ÍI maiuscola, accento acuto
&Icirc;&#206;ÎI maiuscola, accento circonflesso
&Iuml;&#207;ÏI maiuscola, dieresi
&ETH;&#208;ÐEth maiuscolo, Islanda
&Ntilde;&#209;ÑN maiuscola, tilde
&Ograve;&#210;ÒO maiuscola, accento grave
&Oacute;&#211;ÓO maiuscola, accento acuto
&Ocirc;&#212;ÔO maiuscola, accento circonflesso
&Otilde;&#213;ÕO maiuscola, tilde
&Ouml;&#214;ÖO maiuscola, dieresi
&times;&#215;×segno di moltiplicazione
&Oslash;&#216;ØO maiuscola, sbarrata
&Ugrave;&#217;ÙU maiuscola, accento grave
&Uacute;&#218;ÚU maiuscola, accento acuto
&Ucirc;&#219;ÛU maiuscola, accento circonflesso
&Uuml;&#220;ÜU maiuscola, dieresi
&Yacute;&#221;ÝY maiuscola, accento acuto
&THORN;&#222;ÞTHORN maiuscolo, Islanda
&szlig;&#223;ßs forte minuscola, Germania
&agrave;&#224;àa minuscola, accento grave
&aacute;&#225;áa minuscola, accento acuto
&acirc;&#226;âa minuscola, accento circonflesso
&atilde;&#227;ãa minuscola, tilde
&auml;&#228;äa minuscola, dieresi
&aring;&#229;åa minuscola, cerchio
&aelig;&#230;ædittongo ae maiuscolo (legatura)
&ccedil;&#231;çc minuscola, cediglia
&egrave;&#232;èe minuscola, accento grave
&eacute;&#233;ée minuscola, accento acuto
&ecirc;&#234;êe minuscola, accento circonflesso
&euml;&#235;ëe minuscola, dieresi
&igrave;&#236;ìi minuscola, accento grave
&iacute;&#237;íi minuscola, accento acuto
&icirc;&#238;îi minuscola, accento circonflesso
&iuml;&#239;ïi minuscola, dieresi
&eth;&#240;ðeth minuscolo, Islanda
&ntilde;&#241;ñn minuscola, tilde
&ograve;&#242;òo minuscola, accento grave
&oacute;&#243;óo minuscola, accento acuto
&ocirc;&#244;ôo minuscola, accento circonflesso
&otilde;&#245;õo minuscola, tilde
&ouml;&#246;öo minuscola, dieresi
&divide;&#247;÷segno di divisione
&oslash;&#248;øo minuscola, sbarrata
&ugrave;&#249;ùu minuscola, accento grave
&uacute;&#250,úu minuscola, accento acuto
&ucirc;&#251;ûu minuscola, accento circonflesso
&uuml;&#252;üu minuscola, dieresi
&yacute;&#253;ýy minuscola, accento acuto
&thorn;&#254;þthorn minuscola, Islanda
&yuml;&#255;ÿy minuscola, dieresi
Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Convertire PSD in HTML/CSS: ecco come fare

Avete deciso di creare un sito web ma non...

Attributo "rel" per i link HTML

In HTML l’attributo rel può essere utilizzato esclusivamente in...

Humans.txt – cos’è, a cosa serve e come funziona

Humans.txt è un formato standard concepito per corredare un...

Un form di ricerca in HTML

Un modulo di ricerca è una delle funzionalità più...

Differenza tra sito statico e sito dinamico, vantaggi e svantaggi

Un sito statico è una collezione di pagine web...

Elementi a comparsa in puro HTML (no Javascript)

In molti siti web sono implementate tecniche di web-design...
Pubblicitร