Qt在windows平台上显示中文,简直是一门玄学,经过测试,有如下发现:
1,
环境:Qt 5.15.2 vs2019 64位 win11系统
默认用Qt 创建的文件使用utf-8编码格式,此环境下 中文没有问题
ui->textEdit->append("中文测试");
2,
某些 低于此版本的qt,上述方式会出现乱码的情况,此时需要将utf-8编码方式的文件转成utf-8 带bom 。比如使用txt进行转换,但是win7 系统的某些版本 txt 不带此格式。
3,总结
1,简单起见,在windows平台,如果只是windwos平台系统,直接将所有文件转成utf-8 带bom 格式,然后中文使用QStringLiteral(“中文”) 即可。
2,全部使用英文 如,tr(“en”),然后再去翻译文件中翻译。
4,转码工具
分享一个自己写得utf-8 和utf-8 带bom 得转码工具。
源码: