I caratteri che non fanno parte dell'alfabeto inglese (come per esempio le lettere accentate dell'alfabeto italiano) possono creare problemi, in quanto spesso non vengono visualizzati correttamente. Per esempio la frase:
Questo è il sito più bello del mondo
potrebbe essere visualizzata dal browser così:
Questo è il sito più bello del mondo
Questo problema è legato alla codifica usata dal browser per interpretare i caratteri contenuti nella pagina. Infatti ogni carattere viene rappresentato secondo un codice binario e gli stessi codici binari sono utilizzati per rappresentare diversi caratteri, a seconda della codifica scelta.
In pratica il problema si presenta solo quando vengono utilizzati caratteri che non fanno parte del codice ASCII originario. Questo è il caso appunto delle lettere accentate italiane (come anche dei caratteri specifici delle altre lingue diverse dall'inglese).
Di solito la pagina viene visualizzata correttamente specificando il set di caratteri utf-8 nell'intestazione della pagina, in questo modo:
</head>
Questa è anche la scelta raccomandata in generale e quella che garantisce la massima compatibilità della pagina (anche nei confronti di browser non impostati sulla lingua italiana).
ATTENZIONE
La visualizzazione è corretta se la pagina è stata creata con un editor di testo che utilizza la stessa opzione di codifica dichiarata nel codice HTML (nel nostro caso, UTF-8). Alcuni editor (per esempio il Blocco Note di Windows), usano la vecchia codifica ANSI. In questi casi occorre usare il charset="utf-8", in questo modo:
</head>
Se si vogliono risolvere alla radice i problemi di codifica è tuttavia meglio usare le entità html, come spiegato qui sotto.
Una entità html (html entity) è una codifica speciale con la quale è possibile rappresentare in una pagina qualsiasi carattere, indipendentemente dalla dichiarazione charset, dalle impostazioni del server o del browser utente. Si tratta in pratica di codici html da usare per i caratteri speciali che non fanno parte dell'alfabeto inglese.
Le entità html consentono anche di inserire alcuni caratteri come < e > all'interno di un testo (cosa che altrimenti non sarebbe possibile, poiché i simboli < e > sono usati in html come delimitatori di tag).
Le entità in generale possono essere scritte in due modi diversi:
&nome; oppure &#numero;
La tabella seguente riporta la codifica dei caratteri speciali più usati:
Carattere | &nome | &#numero | note |
---|---|---|---|
& | & | & | e commerciale o ampersand |
© | © | © | copyright |
< | < | < | minore |
> | > | > | maggiore |
® | ® | ® | marchio registrato o trade mark |
" | " | " | doppie virgolette |
à | à | à | accento grave su 'a'. Per tutte le altre vocali è sufficiente sostituire la lettera 'a' prima di 'grave' (es è). |
À | À | À | accento grave su A (anche le maiuscole hanno l'accento!) |
é | é | é | accento acuto su 'e'. Per tutte le altre vocali è sufficiente sostituire la lettera 'e' prima di 'acute' (es. é). |
spazio | |   | serve per inserire uno spazio vuoto |
Per esempio la frase seguente (che usa i caratteri speciali)
viene visualizzata dal browser in questo modo:
Se A < B allora D > E
Per un elenco completo delle entità utilizzabili in HTML, vedi qui.
Sito realizzato in base al template offerto da
http://www.graphixmania.it