Bonjour tout le monde.
J'utilise un serveur XML RPC pour chercher des informations dans des fichiers XML. Ces fichiers XML sont des fichiers en français encodés en iso 8859-1 : il y a des caractères tels que :
è,é,à,ç,...
Le problèmes est quand je requete le serveur XML et que la réponse contient un de ces caractères spéciaux j'ai cette erreur:
La solution serait de transformer tous les caractères spéciaux en la lettre dont ils proviennent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ERROR : unknown procedure return value " not well-formed (invalid token) at line 1, column 358, byte 358 at /usr/lib/perl5/site_perl/5.8.0/RPC/XML/Client.pm line 345"
é,è,...->e
à->a
etc...
J'ai essayé mais je n'ai pas trouvé quel module en Perl pourrait faire ça. J'ai essayé à l'aide de Locale::Recode , mais je n'ai pas trouvé de bon codage ne sortie. Pour l'instant ma solution provisoire serait de convertir tout à la main, avec le code en dur :
Comme on est dans une requete XML RPC, je n'ai pas l'impression qu on puisse déclarer autre chose que la fonction principale. je ne trouve pasle codage en dur comme étant une bonne solution, voire meme une sale solution. Quelqu 'un aurait il une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #All "e" $text =~ tr/\xE8/e/; $text =~ tr/\xE9/e/; $text =~ tr/\xEA/e/; $text =~ tr/\xEB/e/;
Merci d'avance
yanndan
Partager