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

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:

<!DOCTYPE html>

<html>

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

</head>

Se si vogliono risolvere alla radice i problemi di codifica è tuttavia meglio 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