4.Problématiques communes aux différents langages
4.2.Internationalisation et Localisation
4.2.2.L'internationalisation
4.2.2.2.Choix de l'encodage
4.2.2.2.1.Introduction
Pour répondre à la problématique de l'internationalisation
[c'est quoi?]
nous vous invitons à utiliser systématiquement l'UTF-8 (dû moins partout où c'est possible, sachant que tous les logiciels, langages de programmation ou fonctions ne sont pas forcément capables de gérer cet encodage pour des raisons que nous évoquons plus loin).
Pour créer des fichiers encodés en UTF-8 via un éditeur de texte, vous devez vérifier sa configuration avant rédaction du document ou vérifier les options de sauvegarde.
4.2.2.2.2.Eclipse
Sous Eclipse, le choix de l'encodage peut se faire de façon globale via l'item "Preferences" du menu "Window". Dans l'onglet "General" choisir la sous-entrée "Workspace".
|
Il peut aussi se faire au cas par cas. Pour cela, afficher le menu contextuel du fichier (clic droit sur le nom du fichier)
|
4.2.2.3.Impact de l'encodage
Le choix de l'encodage n'est pas anodin. Il peut avoir des conséquences inattendues si l'ensemble de la chaîne de traitement n'est pas capable de gérer correctement l'encodage retenu.
Par exemple, le calcul de la longueur d'une chaîne de caractères ne se fait pas de la même manière avec un encodage en ISO-8859 qu'en UTF-8 (ou unicode d'une manière générale). En ISO-8859 le nombre de caractères est égal au nombre d'octets représentant la chaîne alors qu'en UTF-8 le nombre d'octets représentant la chaîne peut être supérieure au nombre de caractères (du fait du nombre variable d'octets nécessaires à la représentation d'un caractère). Il faut donc vous assurer que les fonctions de calcul de longueur de chaînes que vous utilisez (directement ou indirectement) dans votre langage de programmation, dans votre base de données, etc. gèrent correctement l'encodage choisi.
De même, il faut s'assurer que c'est le bon encodage qui est choisi lors de l'affichage.
Ainsi le caractère é encodé en UTF-8, sera représenté par é s'il est considéré comme de l'ISO-8859-1 lors de l'affichage.
A l'inverse, le caractère é encodé en ISO-8859-1, ne sera pas correctement affiché (et sera éventuellement remplacé par un point d'interrogation) s'il est considéré comme de l'UTF-8.
|