Andesi - forum

Forum francophone pour Debian

Vous n'êtes pas identifié(e).

#1 28/04/2009 16:00:22

armen
Membre
Lieu : 48°03'03" N - 04°59'55" W
Inscription : 09/03/2004
Messages : 1 937

encodage UTF8 vs ISO8859

Bonjour,

Je suis confronté à un gros soucis d'encodage pour un programme Perl.

La personne ayant créé l'outil développe sous Windows (c'est comme ça) et moi je le fais tourner sous une machine Linux (assez puissante, dont locale retourne pleins de "fr_FR.UTF-8").

Le problème est que nous travaillons sur des chaines de caractères accentuées prises dans un texte. Nous avons des regexp avec des accents dans tous les sens et ça passe assez mal d'un OS à l'autre (malgré des recode et des iconv, les O dans l'E et A dans l'E mettent le bazar). Je fais des corrections, l'auteur fait des corrections et on essaye de se refiler les corrections qu'on n'a pas...

Voici ma question, après ce long exposé du pourquoi :

Est-il possible de changer de charset pour une session (user) ? Du genre dans le .bashrc d'un user spécifique d'exporter LANG="fr_FR.ISO8859-1" et toutes les autres variables qui vont avec.

ça semble marcher, mais je ne veux pas mettre le bazar sur la machine qui ne sert pas qu'a faire tourner ce programme Perl.

Merci de vos suggestions


"La grandeur d'un métier est peut-etre, avant tout, d'unir des hommes : il n'est qu'un luxe véritable, et c'est celui des relations humaines." Antoine de Saint-Exupéry

Hors ligne

#2 28/04/2009 16:13:29

ledub
Membre
Lieu : Creil (60)
Inscription : 22/04/2003
Messages : 4 545

Re : encodage UTF8 vs ISO8859

Pourquoi ne pas faire un fichier ".sed" que tu utiliserais pour changer ton perl de ouin sur ton linux.
Genre de fichier qui pourrait contenir :

!é!e!g
s!è!e!g
s!à!a!g
...

pour l'utiliser il te suffira de faire un

cat fichier-ouin.pl | sed -f fichier.sed > fichier-linux.pl

LeDub qui se prépare à ne plus faire du shell !!!


« Ne doutez pas qu'un petit nombre de personnes déterminées puisse changer le monde. En fait, ça a même toujours marché comme ça.»
Margaret Mead
---
VeoSearch est un moteur de recherche solidaire qui permet de financer des projets associatifs de développement durable par vos recherches Internet. Utilisez-le !!!

Hors ligne

#3 28/04/2009 20:47:30

armen
Membre
Lieu : 48°03'03" N - 04°59'55" W
Inscription : 09/03/2004
Messages : 1 937

Re : encodage UTF8 vs ISO8859

Le probleme, c'est qu'on veut/doit garder les accents. J'ai bien propose de supprimer les accents, mais une partie du code utilise un algo qui se comporte differemment pour des mots avec ou sans accents.

Apparemment, un export LANG="ISO. . ." pourrait marcher ??? Il faut que j'investigue plus avant.

Armen sans accent !


"La grandeur d'un métier est peut-etre, avant tout, d'unir des hommes : il n'est qu'un luxe véritable, et c'est celui des relations humaines." Antoine de Saint-Exupéry

Hors ligne

#4 29/04/2009 03:34:00

ioguix
Administrator
Lieu : Paris
Inscription : 25/04/2003
Messages : 3 945

Re : encodage UTF8 vs ISO8859

Salut,

Il me semble que tu peux aussi lancer ton apli perl en précisant _avant_ le nom de ton executif les variable d'environnement que tu veux modifier.

Par exemple:

LANG=C ./monSuperPerlQuiDeboiteLesAccents -avec=Plein -de -param=super -trop=long

[email protected]
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222

Hors ligne

Pied de page des forums