Qt5 中文乱码问题,QStringLiteral() QString::fromLocal8Bit() 使用中文乱码问题

本文介绍了在Qt5环境下中文显示可能出现的乱码问题及解决方案。针对Windows平台,重点讲解了如何在QtCreator中设置正确的文件编码(推荐UTF-8),并探讨了UTF-8带BOM和不带BOM时,使用QStringLiteral和QString::fromLocal8Bit显示中文的差异。通过设置,即使不采用国际化翻译,也能确保中文正常显示。
摘要由CSDN通过智能技术生成

引言

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时,在不配置国际化翻译的情况下,双引号就可以正常显示中文,无需过多设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值