PROGRAMMIAMO
HTML - Charset e html entities
Caratteri speciali e charset

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:

<!DOCTYPE html>

<html>

<head>
<meta charset="utf-8" >

</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).

Occorre tuttavia osservare che non sempre tale codifica garantisce la corretta visualizzazione delle lettere accentate. Un'alternativa alla precedente è usara il charset="windows-1252", in questo modo:

<!DOCTYPE html>

<html>

<head>
<meta charset="windows-1252">

</head>

Anche in questo caso però la corretta rappresentazione delle lettere non appartenenti all'alfabeto inglese non è garantita al 100%.

Per poter correttamente rappresentare tutte le lettere, avendo la certezza che vengano visualizzate su tutti i browser, occorre usare le entità html, come spiegato qui sotto.

Entità html

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
& &amp; &#38; e commerciale o ampersand
© &copy; &#169; copyright
< &lt; &#60; minore
> &gt; &#62; maggiore
® &reg; &#174; marchio registrato o trade mark
" &quot; &#34; doppie virgolette
à &agrave; &#224; accento grave su 'a'. Per tutte le altre vocali è sufficiente sostituire la lettera 'a' prima di 'grave' (es &egrave).
À &Agrave; &#192; accento grave su A (anche le maiuscole hanno l'accento!)
é &eacute; &#233; accento acuto su 'e'. Per tutte le altre vocali è sufficiente sostituire la lettera 'e' prima di 'acute' (es. &eacute).
spazio &nbsp; &#160; serve per inserire uno spazio vuoto

Per esempio la frase seguente (che usa i caratteri speciali)

<p>Se A &lt; B &nbsp;&nbsp;&nbsp;&nbsp; allora &nbsp;&nbsp;&nbsp;&nbsp; D &gt; E</p>

viene visualizzata dal browser in questo modo:

Se A < B      allora      D > E

Per un elenco completo delle entità utilizzabili in HTML, vedi qui.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it