我在Windows中通过QXmlStreamWriter
编写XML文件时遇到编码问题,我该如何解决?使用stream.setCodec("UTF-8")
或“windows-1251”没有帮助。
QFile *file = new QFile(filename);
if (file->open(QIODevice::WriteOnly | QIODevice::Text))
{
QXmlStreamWriter stream(file);
stream.setAutoFormatting(true);
stream.writeStartDocument();
stream.writeStartElement("СЕКЦИЯ"); // start root section
stream.writeStartElement("FIELD");
stream.writeAttribute("name", "Имя");
stream.writeAttribute("value", "Иван");
stream.writeEndElement();
stream.writeEndElement(); // END СЕКЦИЯ
file->close();
}
答案 0 :(得分:1)
很可能对源文件中字符串文字的解释是问题,而不是流编写器的配置。 确保您的源文件以UTF-8编码并使用QString :: fromUtf8(“Imja”)等(当然是Imja in cyrillic)而不是隐式文字到QString转换。