Building weblifeVoci dal Blog

La Babele dei caratteri

Scritto il 31 marzo 2010 da Andrea Marchionni (System Analyst)

Navigando in internet è capitato a tutti di imbattersi a volte in caratteri “strani” nei testi delle pagine web. Quasi sempre questo problema è dovuto al fatto che la codifica dei caratteri della pagina web presente nel server è diversa da quella usata dal browser con cui viene visualizzata.


In genere il browser riesce a “capire” automaticamente la codifica della pagina web, per cui i caratteri sono mostrati correttamente, però non sempre questo accade. Potete provare a cambiarla manualmente nel browser (di solito la voce di menu per fare questo si trova sotto il menu “Visualizza”) per vedere gli effetti di questo disallineamento.

Per esempio, se guardiamo uno dei precedenti articoli su questo stesso blog, Web Application per Iphone, e poi cambiamo la codifica caratteri dalla sua originale “Unicode (UTF-8)” a “Occidentale (ISO-8859-1)”, vediamo come alcuni caratteri siano diventati illeggibili:

codifica caratteri corretta

codifica caratteri disallineata

È quindi compito di chi costruisce i siti web accertarsi che la codifica caratteri delle pagine sia comunicata ai browser in modo che essi possano mostrarle correttamente. Se il browser non sa con sicurezza quale codifica sia da usare, deve in qualche modo “indovinarle”, commettendo a volte degli errori che portano, come abbiamo visto, a segni inaspettati nel testo, rendendo più difficoltosa la fruizione dell’informazione da parte dei navigatori.

Esistono una moltitudine di codifiche, le quali gestiscono a volte gli stessi alfabeti di base e a volte alfabeti di caratteri completamente diversi: per esempio ci sono numerose codifiche che si basano sui caratteri dell’alfabeto latino, svariate per i caratteri cinesi, almeno tre per il cirillico ecc.

Eseguendo (in un sistema operativo di tipo Windows) l’applicazione “Mappa Caratteri”, è possibile vedere un vasto esempio di segni grafici supportati dalle codifiche più conosciute.

L’Unicode

Oggigiorno è sempre più probabile che si voglia costruire un sito web che mostri i suoi contenuti in più lingue, per cui diventerebbe veramente complicato gestire nello stesso sito alcune pagine in una codifica dei caratteri occidentali, altre pagine in una codifica degli ideogrammi della lingua cinese e così via. Proprio per risolvere questo tipo di problemi negli ultimi anni si adottano sempre più frequentemente codifiche basate su Unicode. Unicode è una lista standard mondiale di tutti i segni di tutte le lingue parlate nel globo (inglese, thailandese, etiope, ebraico…), ma non solo, avendo al suo interno anche rappresentazioni grafiche dei geroglifici egiziani, dei simboli scientifici e di pressoché qualsiasi simbolo sia usato nella comunicazione scritta.

Le pagine web che vogliono utilizzare questa lista standard molto spesso si avvalgono della codifica di caratteri chiamata UTF-8, che è una possibile implementazione dello standard Unicode.

Un altro vantaggio dell’uso di caratteri basati su Unicode è che anche le più recenti versioni di database riescono a memorizzare le informazioni in questo formato, rendendo tutto il processo di gestione dei testi più omogeneo e sicuro.

Ecco perché per mettersi al riparo dai problemi di errata visualizzazione dei caratteri, gli sviluppatori di sistemi applicativi su web utilizzano sempre più sovente codifiche Unicode, come mostrato anche da indagini effettuate da Google: http://googleblog.blogspot.com/2010/01/unicode-nearing-50-of-web.html

Conclusione

La corretta progettazione di un sito richiede attenzione ai dettagli e costante aggiornamento per rimanere al passo con l’evoluzione dei Browser e poter garantire all’utente:

  • un sito multilingua adatto alle esigenze di un mercato sempre più globale
  • una corretta visualizzazione e una efficace fruizione delle informazioni

1 Commento

Aggiungerei testing, testing, testing …. e ancora testing.

Claudio01 apr 10