J'ai un objet DOMNode Xerces (2.6) codé UTF-8. Je l'utilise pour lire son élément de texte comme ceci:Sérialisation de caractères chinois avec Xerces 2.6
CBuffer DomNodeExtended::getText(const DOMNode* node) const {
char* p = XMLString::transcode(node->getNodeValue());
CBuffer xNodeText(p);
delete p;
return xNodeText;
}
Où CBuffer est, bien, juste un objet tampon qui est persisté ces derniers temps car il est dans un DB.
Cela fonctionne jusqu'à ce que dans le TEXTE il n'y ait que des caractères ASCII communs. Si nous avons des chinois, ils se perdent dans l'opération transcode
.
J'ai beaucoup cherché sur Google pour trouver une solution. On dirait qu'avec Xerces 3, la classe DOMWriter devrait résoudre le problème. Avec Xerces 2.6 j'essaye XMLTranscoder, mais pas encore de succès. Quelqu'un pourrait-il aider?
Modifier Il semble que je me trompais et la classe DOMWriter est déjà disponible en Xerces 2.6. J'essaie maintenant une solution basée dessus.