Qt QXmlStreamReader,需要utf-8编解码器
我有一个UTF8XML文件。我正在对其进行解析以检索属性,但检索到的属性不在UTF-8中,而是为任何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
??
。
该文件有其他语言的文本,即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文件是否以第
行开头?