使用VSQT遭遇乱码时的解决方案
文件乱码
遇到这种情况,需要调整文件保存方案,将文件改为UTF-8带签名,具体操作如下:
首先打开“工具”选项卡,再点击“自定义”
之后单击“命令”选项卡,再单击“添加命令”
下拉“类别”列表框,找到“文件”并选中
在右侧列表下滑找到“高级保存选项”并点击,然后再点击确定即可
此时会发现左上角出现了“高级保存选项”,但是是灰色,这时我们只需要点击一次需要更改保存格式的代码区域即可。
点击代码的任意区域后,会发现选项已经变亮,就可以开始进行设置,设置完成后,文件名称后会有星号,此时别忘记对文件进行Ctrl+S保存。
QT命令行和界面输出乱码
造成这种情况解决办法不唯一,但是可以一个一个试,总是可以试出来的,以下给出一些解决思路。
添加以下预编译头(注意添加的位置,最好是在头文件内)
另外,该预编译头只支持VS环境,非VS环境无效。下面两个代码块可以任意选一个,一个不行试另一个。
1
2
31
2
3使用QStringLiteral()函数
主要是对中文使用此函数,基本上能够解决乱码问题,缺点就是麻烦。
例:
QLabel* label = new QLabel(QStringLiteral("示例标签"));
使用QTextCodec
不是特别推荐
例:
setIniCodec(QTextCodec::codecForName("GB2312"));
配置文件乱码
直接用QTextCodec设置为GB2312,也可以是设置为UTF-8。
1 | //.h |
造成乱码的原因有很多,需要根据自身情况去分析,编程时需要养成良好的编码习惯。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 🏳️⚧️茶茶の博客🏳️⚧️!