Mauvaise encodage à l'affichage - Perl - Programmation
Marsh Posté le 20-06-2006 à 17:51:31
Essaie avec ça dans l'en-tête de ton document HTML :
<META CONTENT="text/html; charset=ISO-8859-1" HTTP-EQUIV="Content-Type"> |
Marsh Posté le 20-06-2006 à 19:13:13
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 :
|
Marsh Posté le 20-06-2006 à 19:14:37
et j'ajoute que dans tous les cas il vaut mieux echapper les caracteres accentués avec des trucs genre é
Utilise HTML::Entities pour ca
Marsh Posté le 23-06-2006 à 09:59:32
J'ai trouvé, j'ai utilisé ceci :
$maVariable = pack('C*', unpack 'U*', $maVariable);
Marsh Posté le 20-06-2006 à 17:42:07
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.