QXmlStreamReader,编解码器utf-8需要
问题描述:
我有一个UTF8 XML文件。我解析它以检索属性,但检索的属性不是UTF-8,而是我为任何UTF-8值获取??????
。 该文件具有其他语言的文本,即UTF-8。QXmlStreamReader,编解码器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;
}
答
我还没有使用的XML流自己,但如果这是一个类似的问题,因为我的,你可能需要设置QTextCodec
为UTF-8如下:
#include <QTextCodec>
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
做绕您初始化您的QApplication
或QCoreApplication
的时间。
你的xml文件是以行开头吗?'? – Amartel