Publicité
Forum
Posez vos questions, ici

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".
Choix de l'encodage dans Eclipse
Il peut aussi se faire au cas par cas. Pour cela, afficher le menu contextuel du fichier (clic droit sur le nom du fichier)
Choix de l'encodage d'un fichier dans Eclipse

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.
  • La page que vous visualisez, via votre navigateur, est encodée en UTF-8. Ceci a été automatiquement détecté par votre navigateur (via des informations qui lui ont été transmises). Vous pouvez vous amuser à forcer l'affichage dans un autre encodage (avec Firefox, dans le menu "View>Character encoding") et voyez le résultat.