problème d'encoding UTF-8 via la SDK MSXML
Pour sauvegarder des fichiers de type xml, j'ai une méthode qui utilise un Writer MSXML4.0 et j'ai des pbs avec le processing instruction :
Lorsque je code :
Code:
1 2 3 4
|
MSXML2::IMXWriterPtr writer(__uuidof(MXXMLWriter40));
...
writer->put_encoding (L"UTF-8"); |
le processing instruction de mon fichier xml est le suivant :
Code:
<?xml version="1.0" standalone="no"?>
Si je fais :
Code:
1 2
|
writer->put_encoding (L"UTF-16"); |
J'ai le résultat :
Code:
1 2
|
<?xml version="1.0" encoding="UTF-16" standalone="no"?> |
Et enfin, si j'ai :
Code:
1 2
|
writer->put_encoding (L"UTF-32"); |
J'ai le résultat :
Code:
1 2
|
<?xml version="1.0" encoding="UTF-16" standalone="no"?> |
J'ai même essayé d'encoder en codepage 8859-1, même résultat, j'ai en résultat un encoding UTF-16 dans mon fichier xml de retour.
Assez original comme résultat, j'ai soit de l'UTF-16, soit rien du tout.
J'ai fait le tour de msdn, je n'ai rien trouvé ; si quelqu'un a une idée d'où peut venir le pb, je l'en remercie beaucoup.