<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Bon, j'ai finalement réussi :)</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Il suffisait bêtement d'imposer le STDOUT en utf8 !</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Je joins mon test corrigé (et dans les commentaires, on peut reconstruire avec une variable et la faire changer au fur et à mesure... Mais c'est inutile, puisque cela fonctionne out of ze box avec la bonne sortie standard !)<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le ven. 17 mai 2024 à 08:27, Patrice Karatchentzeff <<a href="mailto:patrice.karatchentzeff@gmail.com">patrice.karatchentzeff@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Merci pour la documentation, mais malheureusement, cela ne m'aide pas.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">J'ai creusé un peu depuis... Le problème vient de l'encodage des clés dans un hash. Je n'ai pas de souci avec l'encodage des chaînes pour afficher sur la sortie standard, avec ou sans perlform sinon.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">En revanche, si j'ai une majuscule dans mes clés et que je me sers d'un hash pour construire mon format, la clé est soit mal encodé (et l'affichage est correctement positionné), soit bien encodé (l'accent est présent), mais l'ajustement est décalé, comme si le caractère accentué n'avait pas le bon nombre d'octet.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">En m'appuyant sur le Cookbook et les exemples des tables de hachage, j'ai essayé différents trucs (je crois toutes les combinaisons), mais rien n'y fait : je suis dans un cas ou dans l'autre, jamais dans le cas bien affiché bien tabulé...</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">C'est vraiment spécifique à perlform... ça marche partout ailleurs sinon. Un bogue ? Ce serait étonnant que je sois le premier à tomber dessus depuis...<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le dim. 5 mai 2024 à 13:32, Sébastien Feugère <<a href="mailto:sebastien@feugere.net" target="_blank">sebastien@feugere.net</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>Bonjour,</div><div><br></div><div>Ceci devrait aider. Dommage que ces exemples ne soient pas liés depuis perlform d’ailleurs…</div><div><br></div><div><div style="display:block"><div style="display:inline-block" role="link"><a style="border-radius:10px;font-family:-apple-system,Helvetica,Arial,sans-serif;display:block;width:300px;overflow:hidden;text-decoration:none" rel="nofollow" href="https://perldoc.perl.org/perlunicook#%E2%84%9E-34:-Unicode-column-width-for-printing" dir="ltr" role="button" width="300" target="_blank"><table style="table-layout:fixed;border-collapse:collapse;width:300px;background-color:rgb(233,233,235);font-family:-apple-system,Helvetica,Arial,sans-serif" cellpadding="0" cellspacing="0" border="0" width="300"><tbody><tr><td><table bgcolor="#E9E9EB" cellpadding="0" cellspacing="0" width="300" style="font-family:-apple-system,Helvetica,Arial,sans-serif;table-layout:fixed;background-color:rgb(233,233,235)"><tbody><tr><td style="padding:8px 0px"><div style="max-width:100%;margin:0px 16px;overflow:hidden"><div style="font-weight:500;font-size:12px;overflow:hidden;text-overflow:ellipsis;text-align:left"><a rel="nofollow" href="https://perldoc.perl.org/perlunicook#%E2%84%9E-34:-Unicode-column-width-for-printing" style="text-decoration:none" target="_blank"><font color="#000000" style="color:rgb(0,0,0)">perlunicook - cookbookish examples of handling Unicode in Perl - Perldoc Browser</font></a></div><div style="font-weight:400;font-size:11px;overflow:hidden;text-overflow:ellipsis;text-align:left"><a rel="nofollow" href="https://perldoc.perl.org/perlunicook#%E2%84%9E-34:-Unicode-column-width-for-printing" style="text-decoration:none" target="_blank"><font color="#A2A2A9" style="color:rgba(60,60,67,0.6)">perldoc.perl.org</font></a></div></div></td><td style="padding:6px 12px 6px 0px" width="36"><a rel="nofollow" href="https://perldoc.perl.org/perlunicook#%E2%84%9E-34:-Unicode-column-width-for-printing" target="_blank"><img style="display: inline-block; width: 36px; height: 36px; border-radius: 3px;" width="36" height="36" alt="favicon.ico" src="cid:ii_18f85363c44e7117bb1"></a></td></tr></tbody></table></td></tr></tbody></table></a></div></div><br></div><br id="m_-4967890472988784444m_-7092845494753291086lineBreakAtBeginningOfSignature"><div dir="ltr">Sébastien Feugère</div><div dir="ltr"><br><blockquote type="cite">Le 4 mai 2024 à 11:37, Patrice Karatchentzeff <<a href="mailto:patrice.karatchentzeff@gmail.com" target="_blank">patrice.karatchentzeff@gmail.com</a>> a écrit :<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><span>Salut,</span><br><span></span><br><span>J'ai un test case pour ceux qui voudraient m'aider. Je cherche à</span><br><span>utiliser format pour formater mon texte. C'est nickel, quand il n'y a</span><br><span>pas d'accent... Dès qu'il y a des accents, l'alignement ne se fait</span><br><span>plus. J'ai eu du mal à comprendre que cela venait de l'encodage.</span><br><span></span><br><span>Mon environnement :</span><br><span></span><br><span>% env | grep LANG</span><br><span>LANGUAGE=fr_FR.UTF-8</span><br><span>GDM_LANG=fr_FR</span><br><span>LANG=fr_FR.UTF-8</span><br><span></span><br><span>Si je n'utilise pas le pragma utf8, la sortie du script donne :</span><br><span></span><br><span> ------------------------------------------------------------</span><br><span> | Statistiques |</span><br><span> +----------------------------------------------------------+</span><br><span> | recherche | cible | trouvé | Échec |</span><br><span> +----------------------------------------------------------+</span><br><span> | Foo Bar | Littératu | Foo | Litt |</span><br><span> | Foo Bar | Maths | Foo | Math |</span><br><span> | Peti Bar | Literature | Peti | Lite |</span><br><span></span><br><span>(je ne sais ce que donnera le copier-coller, mais la ligne avec</span><br><span>'Littératu' est décalée, comme si il y avait un caractère de moins</span><br><span>après.</span><br><span></span><br><span>Si j'active le pragma, (GMail me refuse le copier-coller, sans doute</span><br><span>pour des problèmes de transcodage), le formatage est nickel, mais les</span><br><span>accents sautent et sont remplacés par des points d'interrogation sur</span><br><span>fond blanc.</span><br><span></span><br><span>je peux transformer ce point d'interrogation en bonne lettre en</span><br><span>appelant encode_utf8($note), mais je ne peux pas le faire sur les</span><br><span>chaînes codées en dur dans le format. Mais si l'accent de littérature</span><br><span>apparaît, le formatage lui n'est alors plus bon :(</span><br><span></span><br><span>J'avoue que j'ai du mal à piger comment fonctionne l'encodage avec</span><br><span>Perl aujourd'hui. Ça fait des années que je code en Perl sans me</span><br><span>prendre le chou avec ça. Je crois avoir toujours utilisé le pragma use</span><br><span>utf8 et fait des print avec des variables avec accent sans problème.</span><br><span>Là, cela ne fonctionne plus... Mon système est en UTF-8 depuis que</span><br><span>Debian y est passé, donc ça commence à dater...</span><br><span></span><br><span>Merci de vos lumières,</span><br><span></span><br><span>PK</span><br><span></span><br><span>-- </span><br><span> |\ _,,,---,,_ Patrice KARATCHENTZEFF</span><br><span>ZZZzz /,`.-'`' -. ;-;;,_ mailto:<a href="mailto:patrice.karatchentzeff@gmail.com" target="_blank">patrice.karatchentzeff@gmail.com</a></span><br><span> |,4- ) )-,_. ,\ ( `'-'</span><br><span> '---''(_/--' `-'\_)</span><br><div><<a href="http://test.pl" target="_blank">test.pl</a>></div><span>_______________________________________________</span><br><span>Perl mailing list</span><br><span><a href="mailto:Perl@mongueurs.net" target="_blank">Perl@mongueurs.net</a></span><br><span><a href="http://listes.mongueurs.net/mailman/listinfo/perl" target="_blank">http://listes.mongueurs.net/mailman/listinfo/perl</a></span><br><span>Attention, les archives sont publiques</span></div></blockquote></div>_______________________________________________<br>
Perl mailing list<br>
<a href="mailto:Perl@mongueurs.net" target="_blank">Perl@mongueurs.net</a><br>
<a href="http://listes.mongueurs.net/mailman/listinfo/perl" rel="noreferrer" target="_blank">http://listes.mongueurs.net/mailman/listinfo/perl</a><br>
Attention, les archives sont publiques</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div> |\ _,,,---,,_ Patrice KARATCHENTZEFF<br>ZZZzz /,`.-'`' -. ;-;;,_ mailto:<a href="mailto:patrice.karatchentzeff@gmail.com" target="_blank">patrice.karatchentzeff@gmail.com</a><br> |,4- ) )-,_. ,\ ( `'-' <br> '---''(_/--' `-'\_) <br></div></div></div></div></div>
</blockquote></div><br clear="all"><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div> |\ _,,,---,,_ Patrice KARATCHENTZEFF<br>ZZZzz /,`.-'`' -. ;-;;,_ mailto:<a href="mailto:patrice.karatchentzeff@gmail.com" target="_blank">patrice.karatchentzeff@gmail.com</a><br> |,4- ) )-,_. ,\ ( `'-' <br> '---''(_/--' `-'\_) <br></div></div></div></div></div>