У меня есть объект Xerces (2.6) DOMNode в кодировке UTF-8.Я использую, чтобы прочитать его элемент TEXT следующим образом:
CBuffer DomNodeExtended::getText( const DOMNode* node ) const {
char* p = XMLString::transcode( node->getNodeValue( ) );
CBuffer xNodeText( p );
delete p;
return xNodeText;
}
Где CBuffer, ну просто буферный объект, который в последнее время сохраняется, как в БД.
Это работает, пока вТЕКСТ там просто обычные символы ASCII.Если у нас есть, например, китайские, они теряются в операции transcode
.
Я много гуглил в поисках решения.Похоже, с Xerces 3 класс DOMWriter должен решить проблему.С Xerces 2.6 я пробую XMLTranscoder, но пока безуспешно.Кто-нибудь может помочь?
Править Похоже, я ошибся, и класс DOMWriter уже доступен в Xerces 2.6.Я сейчас пытаюсь найти решение на его основе.