Publié le mercredi 24 janvier 2007, mis a jour le mardi 27 mars 2007, par Maxime Brunel
Les gens de différents pays utilisent généralement des caractères spéciaux pour représenter un symbole comme l’euro qui est intégré dans ISO-8859-15. Dans le monde, il y a plus de 256 caractères. Pensons à l’hébreu, au cyrillique, au chinois...etc ils ont tous des caractères différents pour avoir un même mot. Si chacun utilise un jeu de caractères différent :
Pour résoudre tous ces problémes, il suffirait d’adopter un jeu de caractères pour tout le monde, universel : l’unicode.
Il y a plusieurs manières d’encoder des caractères Unicode dans des octets : nous ne parlerons que de la plus connue : l’UTF-8.
A noté que certaines applications et environnements n’acceptent plus que cette encodage.
Pour plus d’informations sur l’UTF-8 :
Cette introduction a été réalisée à partir du document ci-dessus (qui n’existe plus).
Nous allons déjà nous intéresser aux variables locales. Par défaut, l’UTF-8 est intégré dans glibc mais si vous choissisez juste vos jeux de caractères qui sont intégrés dans glibc, il va falloir utiliser locale-gen. Tout d’abord, nous allons éditer quelques fichiers de Portage.
fr_FR/ISO-8859-15
fr_FR.UTF-8/UTF-8Vous pourrez trouver les différentes combinaisons possibles dans le fichier /usr/share/i18n/SUPPORTED.
$ locale-gen
Cette étape consiste à définir les variables qui sont utilisés par les applications sauf ce qui ont des paquets spéciaux pour la langue comme kde.
$ export LANG=fr_FR.UTF-8@UTF-8
$ export LC_ALL=fr_FR.UTF-8@UTF-8Dans cette exemple, nous définissons la variable LANG pour que les applications utilisent la langue français avec un encodage de type UTF-8.
Nous pouvons aussi redéfinir la variable LC_TIME qui est créé par défaut quand vous définissez la variable LANG. La valeur mise dans LC_TIME est la même que celle de LANG. LC_TIME précise dans quel pays vous vivez. Par exemple, vous pouvez très bien vivre en France et parlez le Russe, dans ce cas là, il va falloir redéfinir la variable LC_TIME :
$ export LC_TIME=ru_RU.UTF-8@UTF-8
La syntaxe pour ces variables est toujours la même :
[langue[_pays][.jeudecaractère][@modifier]]
Pour que vous n’aillez pas tous les manipulations à refaire à chaque redémarrage de votre machine, nous allons paramètrer les fichiers rc.conf et env.d :
UNICODE="yes"
LANG=en_AU.UTF-8
LC_TIME=ru_RU.UTF-8@UTF-8Vous devez aussi activer quelques options dans votre noyau pour que l’UTF-8 soit bien supporté :
dans le menu File systems puis Native Language Support , pour obtenir les caractères UTF-8 dans les partitions windows (FAT32/NTFS) mettez la valeur utf-8 dans la rubrique Default NLS Option, puis mettez en dure :
NLS UTF-8
N’oubliez pas ensuite de recompiler le noyau et de reconfigurer si nécessaire grub ou lilo.
Pour le support de l’UTF-8, vous devrez ajouter et modifier la variable unix charset dans le fichier /etc/samba/smb.conf :
unix charset = UTF-8