问题产生
常用设置窗口标题方式:
1 | window.setWindowTitle("中文") |
使用上述方式设置窗口标题将产生乱码。
原因分析
字符编码不匹配导致乱码现象。
1 | /* 源码版本5.12 */ |
从源码可以看出title.utf16()最终转换为utf16字符编码。
解决方案
1 | QString::fromUtf16(u"中文"); |
参考链接
- QT 中文乱码解决汇总(包括QString与string、char*互转乱码),by 高祥xiang.
- 源码分析Qt窗口标题中文乱码的问题,by Qt君.