OVH Cloud OVH Cloud

Pb d'encodage (Ruby inside)

3 réponses
Avatar
Eric Jacoboni
Hi,

Je poste ici car je pense que c'est assez spécifique à OS X, feel free
to redirect.

OS X est fourni avec un Ruby (buggé, mais là n'est pas le pb). Si je
lance l'interpréteur interactif dans un Terminal configuré en Occidental
(Iso-latin-1-9), je peux taper les accents :

% /usr/bin/irb
>> "ébété".length
=> 5

Dans une autre fenêtre du même Terminal, je lance la version de Ruby
installée via les Darwin ports et là, impossible d'entrer les accents
qui sont automatiquement traduits par deux octets :

% irb
>> "\351b\351t\351".length
=> 5
>> puts "\351b\351t\351"
ébété

Une piste ?
--

3 réponses

Avatar
luc
Eric Jacoboni wrote:

Une piste ?


readline ?

--
Luc Heinrich

Avatar
Eric Jacoboni
Erwan David writes:


Tes locales sont bien définies ? Les 2 ne doivent pas utiliser la même
readline et c'est peut-être sensible à la locale.


Ben, en fait si je lance dans le même Terminal les deux irb
successivement, j'ai le même pb, que LANG soit vide ou non.

Chez moi, en utf-8 avec des locales bien définies, ça marche pour les
2 (à part que "ébété".length me donne 8...)


Quelles locales ?

Le fait que length me renvoie 5 m'interpelle aussi (c'est pour ça que
je l'ai cité dans l'exemple) car il devrait
renvoyer 8.

--
/bin/bash: line 1: /Users/jaco/bin/signature: No such file or directory

Avatar
Eric Jacoboni
Eric Jacoboni writes:


Quelles locales ?


(je me répond à moi-même, au cas où la solution pourrait aider...)

En mettant LC_CTYPE à fr_FR.ISO8859-1, le pb est résolu : irb accepte
mes accents.

Merci à Erwan.
--