Iconv et résultats variables
Arrg, il faut lire les pages de manuel en entier … iconv et toutes les wrapper dérivés sont influencé par les variables d’environnement LANG, LC_ALL, LC_CTYPE, LC_MESSAGES.
Par exemple :
$ echo éà | LANG=fr_FR.UTF-8 iconv -f UTF-8 -t ascii//translit ea $ echo éà | LANG=C iconv -f UTF-8 -t ascii//translit ??
Et comme bien sûr iconv est très bien documenté, il va sans dire que ça été facile de trouver cette bizzarie.
Donc comme on dit dans ces cas là, ce n’est pas un bug mais une fonctionnalité, à voir chez debian : ”Libc6: //translit fails with cyrillic and others”
Et bien sûr quand vous lancez votre application rails avec Webrick dans votre environnement où LANG=fr_FR.UTF-8
$ script/server
Et d’un autre via passenger et que LANG est initialisé à “C”, alors on perd son temps à chercher le problème dans rails ou passenger.
RTFM !
J’aurais bien aimé utiliser iconv avec la locale fr_FR, mais comme j’utilise iconv pour mes permaliens qui ont été généré avec sans locale (LANG=C), alors pour éviter les problèmes, je force l’appli à utiliser LANG=C dans mon config/envirronment.rb
... ENV['LANG'] = 'C' ...
jusqu’au prochain problème …