Qt Creator 中使用MSVC编译项目时,如果处理不当很容易出现中文字符串乱码问题。
原因:
Qt Creator保存文件是使用UTF-8编码的, MVSC编译虽然可以正常编译带 BOM的UTF-8编码的文件,但是生成的可执行文件是Windows本地字符集,如 GB2312。 如果进行解码就行出现乱码的问题
解决方法
1、使用 QStringLiteral()宏封装字符串
QString str1 = QStringLiteral("你好世界!");
2、使用强制MSVC编译器使用UTF-8编码
在头文件和源程序中加入如下语句MSVC2010以后可以此方案
:
#if _MSC_VER >= 1600 //MVSC2015>1899, MSVC_VER=14.0
#pragma execution_character_set("utf-8")
#endif