[Perl] Perl format et UTF-8
Patrice Karatchentzeff
patrice.karatchentzeff at gmail.com
Sam 4 Mai 11:37:25 CEST 2024
Salut,
J'ai un test case pour ceux qui voudraient m'aider. Je cherche à
utiliser format pour formater mon texte. C'est nickel, quand il n'y a
pas d'accent... Dès qu'il y a des accents, l'alignement ne se fait
plus. J'ai eu du mal à comprendre que cela venait de l'encodage.
Mon environnement :
% env | grep LANG
LANGUAGE=fr_FR.UTF-8
GDM_LANG=fr_FR
LANG=fr_FR.UTF-8
Si je n'utilise pas le pragma utf8, la sortie du script donne :
------------------------------------------------------------
| Statistiques |
+----------------------------------------------------------+
| recherche | cible | trouvé | Échec |
+----------------------------------------------------------+
| Foo Bar | Littératu | Foo | Litt |
| Foo Bar | Maths | Foo | Math |
| Peti Bar | Literature | Peti | Lite |
(je ne sais ce que donnera le copier-coller, mais la ligne avec
'Littératu' est décalée, comme si il y avait un caractère de moins
après.
Si j'active le pragma, (GMail me refuse le copier-coller, sans doute
pour des problèmes de transcodage), le formatage est nickel, mais les
accents sautent et sont remplacés par des points d'interrogation sur
fond blanc.
je peux transformer ce point d'interrogation en bonne lettre en
appelant encode_utf8($note), mais je ne peux pas le faire sur les
chaînes codées en dur dans le format. Mais si l'accent de littérature
apparaît, le formatage lui n'est alors plus bon :(
J'avoue que j'ai du mal à piger comment fonctionne l'encodage avec
Perl aujourd'hui. Ça fait des années que je code en Perl sans me
prendre le chou avec ça. Je crois avoir toujours utilisé le pragma use
utf8 et fait des print avec des variables avec accent sans problème.
Là, cela ne fonctionne plus... Mon système est en UTF-8 depuis que
Debian y est passé, donc ça commence à dater...
Merci de vos lumières,
PK
--
|\ _,,,---,,_ Patrice KARATCHENTZEFF
ZZZzz /,`.-'`' -. ;-;;,_ mailto:patrice.karatchentzeff at gmail.com
|,4- ) )-,_. ,\ ( `'-'
'---''(_/--' `-'\_)
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: test.pl
Type: application/x-perl
Taille: 956 octets
Desc: non disponible
URL: <http://listes.mongueurs.net/archives/perl/attachments/20240504/a0750f37/attachment.bin>
Plus d'informations sur la liste de diffusion Perl