Forum Programmation.perl Accents : argggh ...

Posté par  .
Étiquettes : aucune
0
19
juil.
2007
Bonjour bonjour,

je patauge allègrement avec la gestion des accents (et des jeux de caractères en général) sous Perl.
Plus précisement, je cherche sans succès jusqu'à présent à écrire dans un fichier des chaînes saisies dans l'entrée standard, suceptibles de comporter des accents (et des cédilles, et tous autres caractères ésotériques quelquefois utilisés en français (tiens, une cédille) ).
Pour corser le tout, le script (et le fichier résultat est destiné à être utilisé sous Windows ...

Bref, si une bonne âme traine dans les parages ...
  • # .

    Posté par  . Évalué à 1.

    Quel est le type de fichier que tu veux produire ?

    Je ne connais pas perl, mais il y'a sans doute des fonctions de conversion entre charset. Mon linux est en ISO-8859-15 et les fichiers textes sous windows sont souvent "vus correctement" dans un editeur de texte si le charset utilisé a été Windows-1252.
    Pour des conversions entre ces différents formats, je te conseille de jeter un coup d'oeil à wikipedia et à la commande iconv

    http://fr.wikipedia.org/wiki/Windows-1252
    http://fr.wikipedia.org/wiki/ISO_8859-1


    iconv -l | grep -i ansi
    iconv -l | grep -i oem
    iconv -l | grep -i 1252
    iconv -l | grep -i 437
    iconv --help
  • # UTF-8

    Posté par  . Évalué à 1.

    Déjà, fais tout en unicode (utf-8). En début de tes fichiers, indique
    use utf8;

    Ensuite, tu pourras t'amuser avec le module Encode : http://perldoc.perl.org/Encode.html (décoder à la réception et encoder à l'écriture...)

    Pour connaitre l'encodage de l'environnement, regarde dans %ENV, mais malheureusement il n'y a que le nom du système...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.