20241009 qt乱码问题大合集
明昧 Lv7

Qt QDomDocument xml 中文乱码解决方法

https://blog.csdn.net/weixin_41882459/article/details/108857098

写入

// 保存 XML 文件
QFile wfile(fileName);
// 只写模式打开文件
if (wfile.open(QFile::ReadWrite | QFile::Text))
{
    QTextStream out(&wfile);
    doc.save(out, QDomNode::EncodingFromDocument);
    wfile.close();
}

有效

读取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    qt 读取xml文件中文问题

1、保存文件格式为UTF-8

2、文件流打开时设置

QFile file(currentFile); //相对路径、绝对路径、资源路径都可以
if(!file.open(QFile::ReadWrite)) //可以用QIODevice,Truncate表示清空原来的内容
return;

QTextStream stream(&file);
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
stream.setCodec(codec);
QString content = stream.readAll();
file.close();
QDomDocument doc;
if(!doc.setContent(content))
{
file.close();
return;
}
file.close();
//返回根节点
QDomElement root=doc.documentElement();

没试过

 Comments
Comment plugin failed to load
Loading comment plugin
Powered by Hexo & Theme Keep
Unique Visitor Page View