我有一个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;
}发布于 2013-12-27 17:27:19
我自己没有使用过XML流,但是如果这是一个与我类似的问题,您可能需要将QTextCodec设置为UTF-8,如下所示:
#include <QTextCodec>
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));在初始化QApplication或QCoreApplication时执行此操作。
https://stackoverflow.com/questions/16949113
复制相似问题