Qt:将变音符号写入文件

Qt: Writing umlaut to file

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

我的 QDomDocument "document" 的结构如下:

<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>

更糟糕的是

请帮忙。

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

谢谢@talamaki!