Qt:输出为CSV文件时汉字乱码

参考

(18条消息) QT5写csv文件,文件打开后中文显示乱码的问题解决_yanzi150207348的博客-CSDN博客

 

解决方法

1、在文件开头写一段:

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif

2、之后,将写入的QString转化为UTF-8编码,即str.toUtf8(),之后就可以用file.write()将转化后的str正确写入了CSV了:

 

const char * header = "序号,起始时间,结束时间,窗口均值,背景均值,窗口变化值,背景变化值,窗口变化值/背景变化值,阈值,是否正常,备注\n";
QString headerStr = QString::fromUtf8(header);
fp.write(headerStr.toUtf8());

 

posted @ 2021-07-19 20:56  ShineLe  阅读(2405)  评论(0)    收藏  举报