Programmation.perl : substition avec perl et utf-8
Posté par hoshid () le 13 mars 2008
0
Bonjour
Je ne fais pas de script perl mais je l'utilise pas peu à la manière de SED pour faire des substitutions ou autres
Je suis en UTF-8 et j'ai quelques difficultés, comme dans cet exemple:
echo école | perl -pe 's/^./e/'
cela me renvoie : e�cole (edit: c'est mal rendu sur le forum, il y a juste une fois le signe avec le point d'interrogation en réalité)
Je n'ai pas ce problème avec SED. Savez-vous comment y remédier ?
> Lire le message (7 commentaires, moyenne: 1).
Vous avez demandé le commentaire #913637.



avec un fichier txt
En fait j'ai parlé un peu trop vite en disant que je laissais tomber l'option -C
Si j'ai par exemple un fichier txt en utf8 avec dedans école: "echo école > test.txt"
La ligne suivante ne fonctionne pas niveau encodage et renvoie "à�cole" !
▸ perl -pe 'use encoding utf8 ; s/./à/' test.txt
En revanche c'est bon avec :
▸ perl -C -pe 'use encoding utf8 ; s/é/à/' test.txt
et
▸ perl -C -pe 'use encoding utf8 ; s/./à/' test.txt
C'est un peu lourd quand même… :-(
[ Répondre ]
[^]Re: avec un fichier txt
tiens c'est marrant car finalement
▸ perl -pe 'use encoding utf8 ; s/./à/' < test.txt
renvoie bien "àcole", même sans l'option -C
alors que
▸ perl -pe 'use encoding utf8 ; s/./à/' test.txt
renvoie "à�cole" s'il n'y a pas l'option -C
:-/
bon faut que j'arrête de flooder moi...
[ Répondre ]