C++ QT 使用MSVC编译时中文乱码问题

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

你可能感兴趣的:(C++,Qt)