我有一个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;
}
答案 0 :(得分:2)
我自己没有使用过XML流,但如果这是与我类似的问题,您可能需要将QTextCodec
设置为UTF-8,如下所示:
#include <QTextCodec>
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
在您初始化QApplication
或QCoreApplication
时,请执行此操作。