UTF-8 でエンコードされた Xerces (2.6) DOMNode オブジェクトがあります。私は次のように TEXT 要素を読んでいました。
CBuffer DomNodeExtended::getText( const DOMNode* node ) const {
char* p = XMLString::transcode( node->getNodeValue( ) );
CBuffer xNodeText( p );
delete p;
return xNodeText;
}
CBuffer は、DB にあるように最近永続化される単なるバッファ オブジェクトです。
これは、一般的な ASCII 文字だけが TEXT に含まれるまで機能します。私たちが中国のものを持っている場合、彼らは操作で迷子になりtranscode
ます。
私は解決策を求めてたくさんグーグルで検索しました。Xerces 3 では、DOMWriter クラスが問題を解決するはずです。Xerces 2.6 で XMLTranscoder を試していますが、まだ成功していません。誰か助けてくれませんか?
編集私は間違っていたようで、DOMWriter クラスは Xerces 2.6 で既に利用可能です。私は今、それに基づいて解決策を試しています。