环境背景
Qt5.13 Based on Qt 5.13.2 (MSVC 2017, 32 bit)
问题描述
使用vs2017编译,中文乱码。
在开发过程中,我们国内开发者避免不了使用中文资源,Qt对中文的支持没有那么直接,需要相关的正确配置才能显示正常中文,而不会乱码。
确认项
1先检查你的Qt 菜单->工具选项->文本编辑器->行为(Tab页)->文件编码默认UTF-8.
2用note pad ++检查右下角也是utf-8
然后使用下面的代码放在main.cpp中,注意是否显示乱码与字体无关,不需要啥设置雅黑字体
//设置中文编码
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
#if _MSC_VER
QTextCodec *codec = QTextCodec::codecForName("gbk");
#else
QTextCodec *codec = QTextCodec::codecForName("utf-8");
#endif
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);
#else
#if _MSC_VER
QTextCodec *codec = QTextCodec::codecForName("utf-8");
#else
QTextCodec *codec = QTextCodec::codecForName("utf-8");
#endif
QTextCodec::setCodecForLocale(codec);
#endif
其他文件的cpp中
setWindowTitle(tr( "串口设置"));//这种写法,正确
这样你的中文应该是可以正常显示的