Passage du blog à l'UTF-8
Par OdyX, dimanche 1 janvier 2006 à 23:59 :: DotClear :: #60 :: rss
Bon. Finalement, vite un petit billet avant d'aller dormir.
Sur le billet précédent apparaissait deux fois le mot vœux
. Ce nom s'écrit avec un oe lié
et non pas avec un o
et un e
séparés. DotClear posant problème si je mettais directement le caractère œ, je me suis résolu à passer mon blog en UTF-8 (alors qu'il était en ISO-8859-15 avant).
Ceci n'est d'une importance capitale que pour les visiteurs utilisant des navigateurs antédiluviens. Pour tous les autres, le changement est totalement transparent. Lire la suite pour les explications techniques.
Pour ceux qui ne comprennent rien à tout ce que je dis ici, plusieurs choses pour vous:
Quelques liens sur Wikipedia
Reprise d'un mail
Je mets ici la copie d'un mail que j'ai écrit pour la mailing-liste Ubuntu-FR, le 17 décembre, qui traitait un peu du sujet.
Bonjour,
je me lance...qu'on me corrige si je dis une bêtise...
Un fichier, c'est une suite de bits, soit des 1 et des 0. Pour faire l'analogie avec la parole, c'est le son.
Ensuite, entre deux interlocuteurs informatiques (un serveur et un navigateur par exemple), il faut s'entendre sur quelle suite de bits correspond à quel caractère et combien il faut de bits pour définir un caractère. Pour ça, il faut des alphabets (analogie "parole", c'est la langue), ce qu'on appelle, en anglais "charset" ou "character set", "codage de caractère" en français.
Exemple avec le caractère "A majuscule"
- en ASCII (un des premiers, sur 7 bits + un bit 0 (le premier ici, bit de poids fort)):
01000001
- en ISO-8859-1 (de même qu'en ISO-8859-15, préférable), sur 8 bits:
01000001 (on notera que c'est la même chose... )
- en UTF-8 (extension de l'ASCII en utilisant le bit à 0 et de longueur variable):
01000001 (on notera que c'est encore la même chose).
Oui, l'exemple du A majuscule est plutôt bateau. Mais c'est normal. C'est justement parce que le A se code de la même manière dans tous les codages de caractères qu'il est possible, par défaut, d'avoir une certaine inter-opérabilité.
Prenons un autre exemple: le é (e accent aigu) [1]:
- en ASCII: n'existe pas !
- en ISO-8859-1(5):
11101001
- en UTF-8:
11000011 10101001
Ici, on a une différence. Si on décode la suite UTF8 en ISO-8859-15, on obtient deux caractères (vu que la longueur est double): é....
L'encodage est un problème de fichier, pas de système ! On dit, par abus de langage, que Ubuntu[2] est en UTF-8. Cela signifie en fait que (presque$$Certaines pages de man, par exemple, ne sont pas en UTF-8, mais décodées comme telles....$$) tous les fichiers sont encodés en UTF-8 et que le format "par défaut" est l'UTF-8. Mais il est simple d'enregistrer un fichier en ISO-8859-15 ou en JIS.
> Par exemple... si je fais un fichier sur ma desktop (une page web) et que > je la pousse sur un serveur apache qui lui est en iso-8859-1... que ce > passe-t-il?Si tu enregistres ton fichier en UTF-8, il sera en UTF-8 sur le serveur. Simplement, si ton fichier est un fichier PHP qui envoie un entête HTTP annonçant de l'ISO-8859-15 (ce qui permet au navigateur de déchiffrer correctement la suite de bits qu'il va recevoir) et que tes caractères sont en UTF-8, cela va poser un problème. Il faut donc s'assurer d'une certaine cohérence entre fichiers et entêtes HTTP.
> Ou si je fais un get d'un fichier iso-8859-1 vers ma machine pour le > modifier... les accents sont tout croche.C'est parce que ton éditeur a ouvert le fichier dans un codage de caractères erroné. Normalement, il est possible de préciser à ton éditeur le codage de caractères que tu désires utiliser (bien qu'il devrait "deviner" tout seul).
Est-ce que c'est un peu plus clair ?
Sources: Wikipedia. Articles:
- http://fr.wikipedia.org/wiki/Codage_de_caractères
- http://fr.wikipedia.org/wiki/ASCII
- http://fr.wikipedia.org/wiki/ISO_8859-1
- http://fr.wikipedia.org/wiki/ISO_8859-15
- http://fr.wikipedia.org/wiki/Unicode
- http://fr.wikipedia.org/wiki/UTF-8
Salutations, Didier
P.S. Je ne suis pas certain de mes exemples, mais le principe est là...
Voilà. C'est tout pour aujourd'hui !
@+, DD

Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.