Re: [SSFR] quel langage ? |
[ Thread Index |
Date Index
| More debianworld.org/shellscript-fr Archives
]
Selon Vincent Lefevre <vincent@xxxxxxxxxx>:
> On 2005-12-01 21:36:31 +0000, Sébastien Aperghis-Tramoni wrote:
> > Le problème c'est que Perl (et aucun langage ni aucun programme) n'a
> > aucun moyen de savoir quel est l'encodage des données que tu lui files.
>
> Je pensais que par défaut, il considérerait que c'est celui des
> locales (ce qui se justifie quand on passe le script en ligne de
> commande).
Les locales (comme LC_MESSAGES) reflètent la manière d'afficher les
messages et données, mais pas la manière d'entrer les données. Exemple
typique, je me connecte sur une RedHat (par défaut entièrement en UTF-8)
depuis une machine en Latin1. Tout ce qui affiche des messages passe
moyennement du fait des caractères UTF-8 qui sont affichés comme deux
octets, deux charactères Latin1. Par contre, les comandes prennent les
données comme le shell les lui envoie, et donc comme le terminal les
envoie. Dans mon cas c'est du Latin1, même si je peux par ailleurs
changer les variables d'environnement pour passer en locale UTF-8 :
$ echo $LANG $LANGUAGE $LC_ALL
fr_FR.UTF-8 fr_FR.UTF-8:fr fr_FR.UTF-8
$ perl -e 'print scalar reverse "abcdé"; print "\n"'
édcba
--
Sébastien Aperghis-Tramoni
Close the world, txEn eht nepO.