Bonjour à tous,

Je dois mettre à jour un site web en Perl.

Un des scripts contient un formulaire qui appelle un autre script qui crée un graphe en utilisant les modules :
- GD;
- GD::Graph::lines;

Le graphe créé est récupéré dans un iframe de la page appelante. Jusque-là ça fonctionne...

Le seul problème vient des légendes du graphe. Certains mots contiennent des accents. Ci-dessous, un extrait du code utilisé pour faire les légendes avec le module GD.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
$graph = GD::Graph::lines->new(400, 350);
$graph->set(
x_label => 'nombre de pièces produites',
...
);
Or le "e" accent grave du mot pièces s'affiche bizarrement. Je précise que mes fichiers sont en utf8, que le charset des pages est renseigné en utf8. Je travaille sous Windows XP et wamp pour les tests et Windows serveur pour la production.

J'ai essayé d'utiliser le module Encode avec différents encodages, rien n'y fait, les caractères sont toujours mauvais.

J'ai essayé un autre bidouillage, en définissant des varibiables qui contiennent le format unicode des caractères accentués et en concaténant ces variables dans la légende des graphes, le code ressemble à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
my $e_grave = "\x{00E8}";
$graph->set(x_label => 'nombre de pi'.$e_grave.'ces produites');
Il s'avère que cela fonctionne pour tous les caractères accentués testés SAUF pour ce "e" accent grave où le caractère affiché est un č.

Y a-t-il une meilleure méthode de travail ? Ou y a-t-il un solution pour ce "e" accent grave ?