Internazionalizzazione dei siti e codifica UTF-8

mercoledì 19 ottobre 2011 - 14:28

di Gabriele Romanato

Recentemente mi sono occupato della localizzazione di un sito in cinese e russo e ho potuto notare come, paradossalmente, ci sia ancora molta ignoranza riguardo al modo di codificare le proprie pagine. Generalmente si ritiene che aggiungere un tag meta possa servire allo scopo. Questo è vero solo in parte. Infatti i tag meta, così come la regola @charset dei CSS, istruiscono un browser solo su come dovrebbe interpretare un set di caratteri, ma non convertono il set nella codifica specificata.

Il browser che incontra la parola 您好 (hello, in cinese semplificato), confronta quanto specificato nel meta tag con il contenuto effettivo del documento. Se il documento è stato effettivamente codificato in UTF-8, il browser visualizza correttamente la sequenza di caratteri. Viceversa, se il documento è stato codificato (ossia salvato) in una codifica non compatibile con il set di caratteri (per esempio ISO-8859-1 o US-ASCII), il browser cercherà  come meglio può di visualizzare il set di caratteri, ma non aspettatevi miracoli.

Quindi bisogna sia salvare i documenti in UTF-8 che specificare un tag meta con la codifica UTF-8. Un altro aspetto da tenere presente sono i font usati. Se usate dei web font, assicuratevi sempre quale sia effettivamente il range di caratteri da loro coperto. Font comuni come Arial, Courier ecc. coprono anche alfabeti non occidentali. Per i web font, dovete sempre essere sicuri che coprano anche sistemi alfabetici non occidentali, come arabo, ebraico, cinese, giapponese, russo e via dicendo.

Se notate i famigerati quadratini vuoti sulle vostre pagine, allora è sicuramente un problema di codifica dei caratteri. Attualmente i browser supportano bene gli alfabeti non-occidentali. Gli unici problemi potrebbero sorgere con simboli non alfabetici. In questo caso, consultate la risorsa di Alan Wood all’indirizzo http://www.alanwood.net/unicode/.

Categoria: Web Standards | Commenta

Commenti per Internazionalizzazione dei siti e codifica UTF-8

Nel classico environment lamp, bisogna stare attenti ad uniformare:

- charset delle tabelle (MySQL)
- charset dei campi (MySQL)
- charset della connessione MySQL
- charset del sorgente
- charset dell’output tramite header
- charset dell’output inline (, @charset ecc)

Dimenticarsi di uno di questi e non uniformarlo può portare a nottate poco piacevoli :)

# - Postato da Slam 19 ottobre 2011 alle 15:00

Confermo e sottoscrivo quanto detto da Slam.

Tutta la catena dei dati deve supportare e dichiarare esplicitamente la stessa codifica, che potrebbe essere ad esempio UTF8 (testata con i caratteri cirillici).

# - Postato da bits4beats 19 ottobre 2011 alle 15:47

e non dimentichiamo anche di fare l’encoding in UTF without BOM

# - Postato da sunny 19 ottobre 2011 alle 16:04

+1 a Slam

# - Postato da luglio7 19 ottobre 2011 alle 19:47

sti cinesi…

# - Postato da Marco Pegoraro 20 ottobre 2011 alle 09:11

Mi rendo conto che questo non é un forum, ma non posso fare a meno di chiedere se, alla luce di quanto qui dottamente esposto, in Dreamweaver si debba optare tra le preferenze per l’Unicode utf-8, anziché per charset=iso-8859-1 (Europa Occidentale), dato di default. Oppure, visto che DW offre l’opportunità  di variare il charset a seconda del Paese target, non sia preferibile adottare di volta in volta quest’ultima opzione. Grazie.

# - Postato da Franco 20 ottobre 2011 alle 11:38

@franco

sempre, comunque e per chiunque…utf8

anche se si usano wysiwyg, anche se si fa occasionalmente il webmaster, sapere cosa é ansi, cosa unicode e in genere cosa siano le codifiche, é la base della base della base del mestiere

# - Postato da sunny 20 ottobre 2011 alle 12:19

@Franco

UTF-8 é sempre da preferire. Tu fai questo test con DW: crea una pagina HTML senza il meta tag del charset. Salva con DW in UTF-8. Apri la pagina in Firefox e verifica tra le info della pagina che la codifica sia proprio UTF-8.

# - Postato da Gabriele Romanato 20 ottobre 2011 alle 12:20

Vi ringrazio molto.

# - Postato da Franco 20 ottobre 2011 alle 12:41

Ringraziando per l’articolo, e per gli interessanti commenti che seguono, vorrei rilanciare chiedendo un tutorial sull’argomento perché, parlo soprattutto per me, la confusione sull’argomento é tanta. Mi piacerebbe molto vedere approfonditi gli argomenti citati da Slam. Grazie.

# - Postato da Fly66 20 ottobre 2011 alle 13:34

@slam ti sei dimenticate delle impostazioni del server web.

Gabriele il ciao in cinese io lo vedo come due quadratini (Chrome su XP).
Sarà  per colpa di cosa?

M.

# - Postato da Marco Grazia 24 ottobre 2011 alle 11:30

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>