Linux et l'installation de charset

By esion - the 2006-10-16 10:56:01 - in Linux

(0) Comments

Un petit webnote pour moi-même.

Je me suis rendu compte en faisant un peu de php qu'il m'etait impossible d'utiliser le charset français :
<?php
setlocale(LC_TIME, 'fr_FR');
echo strftime("%A %d %B %Y à %Hh%M. ");
?>

setlocal me sortait inévitablement une erreur. Celui-ci fonctionne avec les localisations implémentés sur le serveur.

Après quelques googlings je me rend compte que sur ma distrib j'ai entre autre "fr_FR.utf-8" mais pas "fr_FR" et c'est là le problème car ce serait dommage de devoir modifier le code php dans le cadre d'une migration de serveur.
(quoique je pourrais très bien écrire setlocale(LC_TIME, 'fr_FR', 'fr_FR.utf-8'); mais bon, bof quoi).

Liste des charsets présents :
$ ls /usr/lib/locale/
en_AU.utf8 en_GB.utf8 en_NZ.utf8 en_ZA.utf8 fr_CH.utf8
en_BW.utf8 en_HK.utf8 en_PH.utf8 en_ZW.utf8 en_CA.utf8 en_IE.utf8 en_SG.utf8 fr_BE.utf8 fr_FR.utf8 en_DK.utf8
en_IN en_US.utf8 fr_CA.utf8 fr_LU.utf8


On rajoute alors fr_FR là où il faut (en root) :
# gedit /var/lib/locales/supported.d/fr
fr_FR UTF-8

(On peut surement remplacer l'utf-8 par iso-8859-15 ou autre, mais apparement mon système a une adoration certaine pour l'unicode alors je n'irai pas à l'encontre de ses convictions).

Il ne reste qu'à terminer l'installation avec (toujours en root) :
# dpkg-reconfigure locales
en_GB.UTF-8... up-to-date
fr_FR.UTF-8... done


Et ça roule.
 

Comments