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 流,但如果这与我的问题类似,您可能需要将QTextCodecUTF-8 设置为如下:

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

在您初始化QApplicationor时执行此操作QCoreApplication

于 2013-12-27T09:27:18.953 回答