Re: Problème de transmission de fichier & d'encodage (CGI)
[ Nouvelle discussion
| Répondre au groupe
|
fr.comp.lang.perl ]
Sujet: Re: Problème de transmission de fichier & d'encodage (CGI)
De: Paul.Gabo...@invalid.invalid (Paul Gaborit)
Groupes: fr.comp.lang.perl
Organisation: EMAC (Ecole des Mines d'Albi-Carmaux)
Date: 09. Apr 2008, 09:41:04
References: 1
|
À (at) Tue, 08 Apr 2008 17:47:12 +0200,
paul POULAIN <paul.poulain_nospam@free.fr.invalid> écrivait (wrote):
> J'ai un script Perl qui permet de transmettre (via apache) un fichier au
> format iso2709. (C'est un format semi-binaire de bibliothécaire : des trucs
> en clair et des trucs en binaire)
>
> Si je fais :
> my $query = new CGI;
> print $query->header( -type => 'application/octet-stream',
> -charset => 'utf-8',
> -attachment=>$filename);
Ok. Donc le navigateur a l'autre bout se dira que le document est en
'utf-8' (je ne suis pas certain que cela ait une importance quelconque
pour le type 'application/octet-stream'... mais peu importe).
> print $record->as_usmarc();
> et ben mon fichier il arrive daubé, et tous les caractères accentués en utf8
> sont transformés en latin1
Normal : la sortie standard (STDOUT) n'est certainement pas configurée
pour produire de l'UTF-8.
> Alors que la commande :
>
> open (FILE,">:utf8","/home/paul/Desktop/test.mrc");
> print FILE $record->as_usmarc();
> me donne un fichier correct.
Normal.
>
> Si quelqu'un a une piste, je cherche depuis 2H et je sèche complet...
Il suffit d'indiquer à Perl que STDOUT est en UTF-8 :
binmode STDOUT, ":utf8";
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

|
 cette fonctionnalité est reservée aux membres ayant une session active !
|