找了一天的中文乱码解决方案
虽然直接对程序设置:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QString str = QString::fromLocal8Bit("中文");
可以生效,但是可能会影响其它界面的中文显示样式,也许你的程序只是大系统中的一部分
因此为了不影响其它功能,推荐对单个字符串进行编码设置:
QTextCodec::codeForName("GBK")->toUnicode("中文");
经验:
进行国产化适配的时候很多程序是从 vs迁移过来的,如果使用Qt Creator打开工程时通常会出现中文乱码,原因是VS是以GBK存储源码文件的,因此迁移时先对所有文件做编码处理,转为UTF-8文件类型,使得在linux下能够正常显示,避免工程中有的文件以utf编码,有的以gbk编码,导致工程很乱。