参考
(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());