qt 向文件中写入中文字符串显示乱码

QSettings *configIniRead = new QSettings("./signalLog.ini", QSettings::IniFormat);
QString date = configIniRead->value("/Date/checkDate").toString();
QString dateName = configIniRead->value("/Date/name").toString();
file.write(dateName.toStdString().c_str());
file.write("\r\n");
file.write("检测人签名");

txt文档打开是这样的:
检测时间
妫€娴嬩汉绛惧悕

根据网上方法设置一些列方法都没用
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

你的file是QFile对象吧?
改成这样试试:
file.write(dateName.toUtf8());

CPP中添加#pragma execution_character_set("utf-8")

文章:https://blog.csdn.net/mr_xuexi/article/details/98628141
qt5.11亲测有用。我是utf8

http://blog.csdn.net/brave_heart_lxl/article/details/7186631