2

我正在尝试将 QDomDocument 的内容存储到文件中。该文档包含一个德语变音符号,它没有正确保存到文件中。

我的 QDomDocument “文档”的结构如下:

<parent>
    <child attribute="äüö"/>
</parent>

我将它保存到这样的 XML 文件中:

QString string = document.toString();
QFile file("/path/to/my/file.xml");
file.open(QIODevice::WriteOnly | QIODevice::Text)
QTextStream txtStream(&file);
txtStream<< string;
file.close();

q在该点调试字符串显示变音符号仍然完好无损。但是当将它们写入文件时,我的 XML 文件如下所示:

<parent>
    <child attribute="הצ"/>
</parent>

我尝试了各种可能性,例如将 QString 转换为不同的编码,或将流编解码器设置为不同的值,但我能得到的最好的结果是:

<parent>
    <child attribute="ֳ₪ֳ¼ֳ¶"/>
</parent>

更糟糕的是。

请帮忙。

4

1 回答 1

1

使用 document.toByteArray() 将 QString 更改为 QByteArray 有效。

谢谢@talamaki!

于 2018-02-06T13:12:37.130 回答