accès aux groupes de discussion, consultation et publication d'articles, recherche de "newsgroups"...
membres, identifiez-vous
é-mail Mot de passe
nouveau ? mot de passe oublié ?
Chargement... Chargement en cours...

Groupes français belges canadiens suisses internationaux Nétiquette
Échangez opinions et commentaires dans les forums de discussion.

Re: Problème de transmission de fichier & d'encodage (CGI)

 [  Nouvelle Discussion Nouvelle discussion  |  Répondre au groupe Répondre au groupe  |  fr.comp.lang.perl ] 

Retour : Accueil du site fr comp lang perl   charte stats de ce groupe


  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/>


DateSujet  Auteur
01.01.
o 
Groups Explorer contact votre avis comment ça marche? rechercher un groupe suggérer un groupe abuse accueil du site   Imprimer cette page   Envoyer cette page à un(e) ami(e)
Usenet Gratuit