引言
Qt5 中文显示常常会遇到乱码问题,Qt5 中文显示官方推荐方式是采用国际化翻译文件方式实现,但有些时候,我们为了方便,会在代码中直接写入中文,这个时候只要正确设置,中文也可以正常显示
在 windows 下需正确设置文件编码,方可实现中文正确显示,Qt Creator 可以在 工具→选项→文本编辑器→Behavior中设置编码格式,建议默认编码设置为 UTF-8,其中 UTF-8 BOM 有三种设置:1.如果编码是UTF-8则添加、2.目前存在了则保留、3.总是删除
实测
默认编码 设置为 UTF-8,UTF-8 BOM 设置为 总是删除时
QMessageBox::information(this, "此处正常", QStringLiteral("此处乱码"), QString::fromLocal8Bit("此处乱码"));
默认编码 设置为 UTF-8,UTF-8 BOM 设置为 如果编码是UTF-8则添加时
QMessageBox::information(this, "此处乱码", QStringLiteral("此处正常"), QString::fromLocal8Bit("此处正常"));
总结
当编码是UTF-8带BOM时,在不配置国际化翻译的情况下,若要正常显示中文,则需要QStringLiteral() 或 QString::fromLocal8Bit()
当编码是UTF-8不带BOM时,在不配置国际化翻译的情况下,双引号就可以正常显示中文,无需过多设置