产生乱码的原因
Visual Studio在配置其他环境进行开发时,会出现一些编码问题,大多原因都是编码造成的。
以QT为例,vs配置完QT环境后在输出中文时产生乱码的原因其实就转码方式与执行字符集不一致。
QT中的构造函数QString需要执行字符集编码为utf-8,然后以utf-8进行解码,再编码为utf-16才能获得正确的字符编码。
而Windows 操作系统默认使用 GBK 字符集。输出中文时,QString会对GBK 字符集以utf-8的方式进行解码,导致获取了错误的二进制编码,再将错误二进制转为utf-16就会出现乱码。
解决方法
我们知道将文件用txt打开然后另存为时可以更改编码,但是这种方法比较繁琐。
而vs的“高级保存选项”可以同样可以实现。
通过以上配置,高级保存选项就固定在菜单栏中了,可以通过vs快速更改文件的编码了。
除此以外,对这些有编码要求的环境配置,还需要对解决方案进行配置。
鼠标右击解决方案下面的项目文件,打开“属性”。
在命令行中添加 /utf-8
效果
中文可以正常显示。