QT5写csv文件,文件打开后中文显示乱码的问题解决
最近在做一个用QT5做上位机界面的项目,在项目测试时发现写csv文件,文件打开后中文显示乱码的问题,在网上查了不少资料,问题也没有解决,折腾了两天,后来才找到解决的办法,现记录下,希望能够给大家带来帮助,自己也留个笔记方便以后查看。
原代码:
QString fileName = "D:/RecordData.csv";
QFile file(fileName);
QString data;
/*写入标题*/
data = "时间,型号,档位,位移(mm),阻值1(Ω),阻值2(Ω),阻值3(Ω),阻值4(Ω)\r";
...
file.write(data.toUtf8());
解决办法:
1. 将该csv文件另存为txt文件,再将另存为txt的文件选择另存为,注意在另存为的编码方式中选择“UTF-8”,然后再将该txt修改成csv文件即可;
2. 有的办公软件(trio office)在打开的时候直接选择编码方式,这种就可以不用转来转去了,更方便;
3. 一劳永逸的办法修改代码,将最后一句改为file.write(data.toLocal8Bit());即可解决。