1、将main.cpp改成utf-8编码,方法是点击main.cpp,然后选择菜单文件->高级保存选项。【所有源码都要转换成uft-8】
2、在你的main函数里,设置如下代码,完美解决qt5的中文乱码
MSC_VER是MSVC编译器的内置宏,定义了编译器的版本。下面是一些编译器版本的_MSC_VER值
MS VC++ 10.0 _MSC_VER = 1600 【VC2010】
MS VC++ 9.0 _MSC_VER = 1500 【VC2008】
MS VC++ 8.0 _MSC_VER = 1400 【VC2005】
MS VC++ 7.1 _MSC_VER = 1310
MS VC++ 7.0 _MSC_VER = 1300
MS VC++ 6.0 _MSC_VER = 1200
MS VC++ 5.0 _MSC_VER = 1100
#include "testchinese2.h"
#include <QtWidgets/QApplication>
#include <QDebug>
// 代码一定要是: UTF-8(BOM)
//qt版本高于等于qt5,VS版本高于或等于VS2010
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//qt版本低于qt5
#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
//VS版本低于VS2010
#if defined(_MSC_VER) && (_MSC_VER < 1600)
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
#else
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
#endif
#endif
TestChinese2 w;
w.show();
qDebug() << "您好,333";
return a.exec();
}