在做项目中使用到了MSVC2017环境,MSVC环境下中文显示乱码大汇总,亲测方法一生效
方法一:
在pro文件中添加以下代码,亲测生效,能解决所有文件中文显示问题
msvc
{
QMAKE_CFLAGS += /utf-8
QMAKE_CXXFLAGS += /utf-8
}
方法二:
使用QTextCodec来把所有使用到中文的地方进行转换,有效但是麻烦,每个显示中文地方都要这样写。
QTextCodec* m_pCodec = QTextCodec::codecForName("GBK");
m_pCodec->toUnicode("中文字符");
方法三:
在.h文件中顶行添加以下代码,是为了告诉msvc编译器当前代码文件用utf8去编译。
当然需要看一下QT文件的编码格式,项目->编译器->文件编码
#pragma execution_character_set("utf-8")
方法四:
在qt图标右击打开文件所在位置,找到以下目录文件,亲测有效,但是几天后就不管用了
在qglobal.h头文件加几行代码
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif