Qt QXmlStreamReader,需要utf-8编解码器

Qt QXmlStreamReader,需要utf-8编解码器,qt,qxmlstreamreader,Qt,Qxmlstreamreader,我有一个UTF8XML文件。我正在对其进行解析以检索属性,但检索到的属性不在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<QSt

我有一个UTF8XML文件。我正在对其进行解析以检索属性,但检索到的属性不在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;
    }
QFile*file=newqfile(“d://in.xml”);
如果(!file->open(QIODevice::ReadOnly | QIODevice::Text)){
返回;
}
QXmlStreamReader xml(文件);
QListhead;
而(!xml.atEnd()&&
!xml.hasError()){
QXmlStreamReader::TokenType token=xml.readNext();
if(令牌==QXmlStreamReader::StartDocument){
documentEncoding();
继续;
}

我自己没有使用XML流,但如果这是一个与我类似的问题,您可能需要将
QTextCodec
设置为UTF-8,如下所示:

#include <QTextCodec>
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
#包括
QTextCodec::setcodeforlocale(QTextCodec::codeforname(“UTF-8”);

在初始化
QApplication
QCoreApplication

时执行此操作xml文件是否以第
行开头?