1

UTF8 XML ファイルがあります。属性を取得するために解析していますが、取得した属性は UTF-8 ではなく??????、UTF-8 値のいずれかを取得しています。ファイルには、UTF-8 である他の言語のテキストが含まれています。

QFile* file = new QFile("d://in.xml");

if (!file->open(QIODevice::ReadOnly | QIODevice::Text)) {
         return;
}
QXmlStreamReader xml(file);
QList< QMap<QString,QString> > head;

while(!xml.atEnd() &&
        !xml.hasError()) {
    QXmlStreamReader::TokenType token = xml.readNext();

    if(token == QXmlStreamReader::StartDocument) {
       xml.documentEncoding();
        continue;
    }
4

1 に答える 1

2

私自身は XML ストリームを使用していませんが、これが私のものと同様の問題である場合は、次のQTextCodecように を UTF-8に設定する必要があるかもしれません。

#include <QTextCodec>
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

QApplicationまたはを初期化する頃にそれを行いますQCoreApplication

于 2013-12-27T09:27:18.953 に答える