Caratteri speciali e entità: di cosa stiamo parlando?
Vi è mai capitato di visualizzare una pagina web con simboli strani, caratteri illeggibili o quadratini vuoti al posto delle lettere? Questo tipo di errore è spesso causato da una gestione non corretta dei caratteri speciali, ed è proprio qui che entrano in gioco le entità HTML e Unicode.
Le entità (sia HTML che Unicode) sono sequenze di caratteri utilizzate per rappresentare simboli che non appartengono all’alfabeto standard, ai numeri o alla punteggiatura comune. Si tratta quindi di una soluzione tecnica per visualizzare correttamente caratteri speciali all’interno di una pagina web.
Senza addentrarci in tecnicismi, è utile sapere che non tutti i caratteri possono essere inseriti direttamente nel codice HTML: alcuni possono essere interpretati in modo errato dal browser (come i simboli <
e >
, che hanno un significato strutturale in HTML), altri invece potrebbero non essere supportati dal charset (insieme di caratteri) definito per la pagina, e quindi non venire visualizzati correttamente.
Per risolvere questi problemi e garantire una corretta visualizzazione su tutti i browser e dispositivi, si fa uso delle entità HTML o Unicode.
Entità HTML e Unicode
Lo standard HTML 4.01 utilizza come riferimento il set di caratteri definito dall’ISO 10646 Universal Character Set, che corrisponde allo standard Unicode.
Secondo la definizione di Wikipedia, Unicode è un sistema di codifica che assegna un numero univoco a ogni carattere, indipendentemente dalla lingua, dalla piattaforma o dal software utilizzato. È lo standard alla base della scrittura multilingua sul web.
In una pagina HTML è possibile utilizzare due principali tipi di entità:
- Entità nominali (o entità HTML), scritte con la sintassi
&[nome]
– ad esempio€
per il simbolo dell’euro (€); - Entità numeriche (o entità Unicode), scritte con la sintassi
&#[numero]
– ad esempio€
per ottenere lo stesso simbolo €.
Esiste anche una terza forma di notazione, le entità esadecimali (es. €
), meno usata ma comunque supportata dalla maggior parte dei browser moderni.