Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1447 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Mauvaise encodage à l'affichage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mauvaise encodage à l'affichage

n°1391672
neo00neo
Posté le 20-06-2006 à 17:42:07  profilanswer
 

Bonjour,
j'ai un bout de code perl dans lequel je créé une page HTML.  
 
Ex : print "<body>Coucou</body>";  
 
Dans ce bout de html je dois utiliser une variable perl, donc grossièrement ça donne ceci :  
 
Ex : print "<body>$test</body>"; #Avec $test ma variable.
 
Seulement cette variable provient d'un parsing d'un document XML, et j'ai l'impression que l'encodage a un soucis...
 
Voilà mon bout de code :
 
...
 my $test = "éééééééééééééé";
 print "On a 1 : $test";
print <<_EOF_;
   </div>
  </body>
  On a 2 :$test;
 </html>
...
 
Et à l'affichage j'obtiens :
On a 1 : éééééééééééééé  
On a 2 :éééééééééééééé;  
 
Donc voilà, je ne sais pas pourquoi en deux lignes l'affichage merdouille, j'utilise XML::Simple pour parser mon fichier XML, je ne vois pas du tout d'où sa peut venir.
 
Merci de votre aide.

mood
Publicité
Posté le 20-06-2006 à 17:42:07  profilanswer
 

n°1391682
Elmoricq
Modérateur
Posté le 20-06-2006 à 17:51:31  profilanswer
 

Essaie avec ça dans l'en-tête de ton document HTML :
 

<META CONTENT="text/html; charset=ISO-8859-1" HTTP-EQUIV="Content-Type">

n°1391687
neo00neo
Posté le 20-06-2006 à 17:55:49  profilanswer
 

Non ça ne change rien du tout...

n°1391723
pospos
Posté le 20-06-2006 à 19:13:13  profilanswer
 

l'encodage c'est la chainlie, pasque ca depend aussi de l'encodage de ton editeur (celui dans lequel tu aura ecrit tes caracteres accentués)
 
Ton parseur XML lui il te sort de l'uf8 visiblement.
 
passe tout en UTF8 (ton editeur aussi si tu peux)
met UTF-8 comme encodage dans la balise META
 
et si ca ne suffit pas encode tes string avant de les balancer dans le HTML (ou encode le HTML final, selon comment tu t'en sert) :
 

Code :
  1. use Encode;
  2. $html = encode_utf8($html);



Message édité par pospos le 20-06-2006 à 19:13:22
n°1391725
pospos
Posté le 20-06-2006 à 19:14:37  profilanswer
 

et j'ajoute que dans tous les cas il vaut mieux echapper les caracteres accentués avec des trucs genre &eacute;
 
Utilise HTML::Entities pour ca

n°1393432
neo00neo
Posté le 23-06-2006 à 09:59:32  profilanswer
 

J'ai trouvé, j'ai utilisé ceci :
$maVariable = pack('C*', unpack 'U*', $maVariable);


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Mauvaise encodage à l'affichage

 

Sujets relatifs
Affichage dans un JPanel.... dans un JPanel ^^Affichage/Masquage de données
[pas résolu] problème d'affichage de page webAffichage du dir
affichage d'une page php dans une autreAffichage des données d'un BLOB Oracle 10g
[RESOLU]Histoire d'encodage...gérer le pb des images non-chargées lors de l'affichage d'1 page web
Différence d'affichage de date entre ASP et PHP via SQLServerAffichage valeur colonne graphique
Plus de sujets relatifs à : Mauvaise encodage à l'affichage


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR