[Perl] Problème avec module Archive::Zip et UTF-8

Nicolas GEORGES xlat at cpan.org
Mer 10 Mai 18:00:27 CEST 2017


Salut,

Est-ce que cela pourrait être le même problème que j'ai rencontré ici :
https://github.com/redhotpenguin/perl-Archive-Zip/pull/25 ?
Peut-être que ta version du module est trop ancien, tu pourrais passer en
v1.56 ?

Nicolas.

print
pack'b*',join'',map{$_.($_+0?'010':'100')}unpack('b*',pack'w*',7376,16,193516616,0,1508,0,11289860)=~/...../g
<http://codepad.org/Lb2tGEjj>


Le 10 mai 2017 à 16:43, Dominique Asselineau <asseline at telecom-paristech.fr>
a écrit :

> Bonjour,
>
> J'utilise Perl sur Linux/Debian 8.8 (Jessie à jour).
>  - perl: Version 5.20.2
>  - Archive::Zip: Version 1.39
>
> Si j'ajoute dans l'archive zip un membre à partir d'une chaîne UTF-8
> avec la méthode addString( $chaine, $nomDeMembre ), lorsqu'ensuite je
> tente d'écrire cette archive à l'aide de la méthode writeToFileHandle,
> dans un fichier temporaire produit par Archive::Zip::tempFile(),
> j'obtiens l'erreur
>
> Wide character in Compress::Raw::Zlib::crc32 at
> /usr/share/perl5/Archive/Zip.pm line 307.
>
> Comme indiqué dans le man de Archive::Zip, à la section "Archive::Zip
> Global Variables", je positionne la variable "local
> $Archive::Zip::UNICODE = 1;" juste avant l'appel à la méthode
> addString mais ça ne convient pas.
>
> Je suppose que la variable $Archive::Zip::UNICODE = 1; devrait
> permettre à addString d'encoder la chaîne Perl UTF-8 en octets qui ne
> devraient pas poser problème lors de traitement suivant ?
>
> J'ai mis un ECM en pj pour illustrer le problème que je rencontre,
> et pour mettre en évidence l'erreur que je pourrais commettre.
>
> Merci de votre aide.
>
> Dominique
>
>
> --
>
> _______________________________________________
> Perl mailing list
> Perl at mongueurs.net
> http://listes.mongueurs.net/mailman/listinfo/perl
>
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/mailman/private/perl/attachments/20170510/b267e8c8/attachment.html>


Plus d'informations sur la liste de diffusion Perl