Vos jolies lettres accentuées cèdent la place à d’affreux é et � ?
Webmestre, vous recopiez au début de vos pages HTML une ligne
1 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> |
sans comprendre ?
Vous avez déjà croisé des mots comme charset, encodage, ASCII, UTF-8, ISO-8859, latin-1… et vous vous demandez ce que sont ces bestioles ?
Vous êtes curieux de savoir comment un ordinateur code du texte ?
Ce cours est pour vous. On va tout expliquer en douceur.
La théorie : le texte en informatique
L’épopée des encodages
En pratique : jongler avec les encodages
J’espère que ce tutoriel aura aidé certains à comprendre ce qui se passe et à ne plus avoir peur des « caractères spéciaux »…
Il n’y a rien de sorcier et tout programmeur (voire tout informaticien) devrait connaître ça pour ne pas faire n’importe quoi.
Liens
Quelques autres documents sur le sujet :
- « Ce que tout programmeur doit savoir » (et sa version anglaise) : un article de Joel on Software destiné à sensibiliser les programmeurs ;
- « Introduction aux jeux de caractères » : un cours de Steve Frécinaux sur le site Openweb ;
charsets(7)
: une page du manuel de Linux qui décrit les encodages couramment utilisés avant leur remplacement progressif par Unicode.
Ensuite, Wikipédia est très bien fournie sur le thème (ne pas hésiter à lire les articles anglais qui sont souvent plus complets). On peut par exemple consulter cet article général, celui-ci pour apprendre comment fonctionne UTF-8, ou ce comparatif des encodages d’Unicode (en anglais). Elle contient les tables de codes de tous les jeux utiles, par exemples : ASCII, CP850, latin-1, et même le JUC qui y est plutôt bien organisé.
On peut aussi trouver les tables du JUC ici, avec des glyphes informatifs et les noms officiels des caractères en français (car la norme ISO 10646 est publiée conjointement en anglais et en français). Toutefois, cette page n’a plus été mise à jour depuis 2007 (Unicode version 5.0) ; la dernière version peut être trouvée en anglais là (mais les ajouts sont peu susceptibles de vous intéresser).