HADOPI - Le Net en France : black-out

UTF-8 et Linux

Un article de Haypo.

Retour à la page précédente Retour à l'accueil des codages

Utiliser l'encodage UTF-8 sous Linux n'est pas tous les jours une tasse de thé. Pour rappel, l'encodage UTF-8 encode les caractères Unicode sur une longueur de 1 à 4 octets. Le problème est que tous les programmes ne sont pas encore compatible. On va commencer par citer les programmes supportant bien l'UTF-8 :

  • xterm et bash : Si la locale est bien configurée, aucun problème
  • vi (ou plutôt vim je pense) : Supporte l'UTF-8 à merveille. Les commandes "set fileencoding=utf-8" et "set fileencoding=latin-1" permettent de jongler entre les deux encodages.
  • Xchat (et toutes les applications GTK+ bien écrites : Utilisez les commandes "/charset utf-8" et "/charset iso-8859-1" pour passer de l'un à l'autre.

Sommaire

[modifier] Comment savoir si on utilise déjà l'UTF-8 ?

Dans un terminal, tapez la commande suivate :

echo -n é | wc -c

En iso-8859-1, la lettre é prend 1 octet, en UTF-8 : deux octets.

Sinon, tapez "locale". Les locales avec UTF-8 sont notées « (...).UTF-8(...) », comme « fr_FR.UTF-8 » ou « fr_FR.UTF-8@euro ».

[modifier] Bien configurer ses locales

Les locales sont, en gros, la langue et l'encodage utilisé par défaut par toutes les applications. C'est grâce à ça que Gnome répond "Impossible d'afficher l'emplacement « file://gimpx »" (et non pas un truc en anglais) quand on essaye de lancer un programme qui n'existe pas à l'aide de ALT+F2.

Les locales se configurent à deux endroits :

  • Sous Debian, avec « dpkg-reconfigure locales » (il vous faudra peut-être installer locales)
  • Dans le gestionnaire de connexion graphique (xdm, gdm, ...)

[modifier] ssh sur un linux non-utf-8

Voir l'article sur ssh (partie sur le problème d'encodage).

[modifier] Détecter l'encodage d'un fichier

  • file -i <fichier texte> donne l'encodage d'un fichier texte (charset=...) à partir de sa version 4.0
  • utrac -p <fichier> donne l'encodage d'un fichier texte (plus robuste et fonctionne sur plus de formats que file)

utrac utilise un bon algorithme de détection des encodages.

[modifier] Convertir un fichier vers l'UTF-8 et inversement

Utilisez le programme iconv en ligne de commande :

 iconv -f iso-8859-1 -t utf-8 <in >out    # vers UTF-8
 iconv -f utf-8 -t iso-8859-1 <in >out    # vers latin-1

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Liens externes