Ultimamente mi sto ancora imbattendo in problemi di codifica di caratteri (belli gli utenti russi che si iscrivono al sito con i loro caratteri in cirillico…). Mi sono messo a ri-studiare questo mondo (per rinfrescare le mie conoscenze) e segnalo questo ottimo articolo: The Definitive Guide to Web Character Encoding.
La codifica dei caratteri è il modo in cui lettere, numeri e simboli vengono espressi in valori numerici interpretabili da un computer. Ogni file (ad esempio, un file HTML) è salvato con una sua particolare codifica caratteri, che viene comunicata al browser (o ad uno user agent in generale) al fine di permetterne la corretta interpretazione.
La scelta di una codifica influisce sull’insieme dei caratteri che possiamo utilizzare all’interno del file. Un problema fondamentale diventa la rappresentazione di caratteri non inclusi nella codifica scelta: in aiuto vengono le entità (numeric character references, NCR), sotto forma di nome simbolico o di “posizione” in decimale o esadecimale nella forma &<code>; (ad esempio, il simbolo di copyright può essere espresso come © © ©).
L’utilizzo delle entità rende la pagina perfettamente funzionante, ma comporta problemi relativi alla lettura del documento (a livello di editor di testo) o alla rilevazione di errori di battitura.
La scelta di un particolare tipo di codifica è influenzata da vari fattori: insieme dei caratteri disponibili, capacità dell’editor di testo, supporto da parte dei browser, altri fattori (ad esempio, per esigenze tipografiche o di memorizzazione in database).
In ambito web è consigliato utilizzare la codifca UTF-8 (che poi uso anch’io) o la ISO 8859, che comunque non sono esenti da problemi (relativi all’utilizzo degli editor di testo, compatbilià dei browser, etc. etc.).
Altri link: