Salut

J'ai un problème avec XML::Parser pour parser un fichier UTF-8. Dans le fichier, 'encoding="UTF-8"' est bien présent dans l'entete ET un caractère "é" encodé en utf-8 est malicieusement glissé dans le texte (testé avec un éditeur hexa (C3 A9) + on voit dans "é" avec notepad).

LECTURE du fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $plain_xml;
if( open(FILE, "<options.xml") ) {
  $plain_xml=<FILE>;
  close FILE;
}
print Dumper($plain_xml);
 
RESULTAT :
... Test\x{c3}\x{a9} ...
 
 
LECTURE avec XML::Parser :
use XML::Parser;
use XML::Parser::EasyTree;
my $hash_xml = new XML::Parser(Style=>'EasyTree')->parsefile( 'options.xml' );
print Dumper($hash_xml);
 
RESULTAT:
... Test\x{e9} ...
mon "é" a été encodé en ISO par XML::Parser ?
pourquoi ?