1.qt create文件使用的是UTF-8编码,但MSVC生成的可执行文件的编码是windows本地的字符集如GB2312。
两者不兼容,出现乱码。
解决办法:
1.使用QStringLiteral()宏封装字符串。需注意的是不能再使用tr()函数用于编译字符串。
2.强行MSVC编译器使用UTF-8编码生成可执行文件,需要在每个用到字符串的头文件和源代码前面加上
#if _MSC_VER >=1600
#prama execution_character_set("utf-8")
#endif
这种方法可以使用tr()函数。