VS2022(Qt Vs Tools)中汉字无法支持的问题

乱码原因

当MSVC编译器编译程序的时候,会分析源文件采用何种编码,有BOM标识符则可以正确识别其编码,若没有BOM标识符则认为其使用本地字符编码local字符集。编译器分析出源文件字符编码之后,会进行解码再编码,将源字符集转码成执行字符集。

我们使用的windows系统本地字符编码为GBK编码。

Qt中QString内部采用unicode字符集,utf-16编码。构造函数QString::QString(const char *str) 默认使用 fromUtf8() 将str所指的执行字符集从 utf-8 转码成 utf-16。

显示中文乱码的原因其实就QString转码方式与执行字符集不一致。
(源字符集为本地字符集GBK编码,QString以utf-8的方式进行解码,会导致获得错误的二进制编码,再将错误二进制转为utf-16就会出现乱码。)

解决办法

网上解决这个问题的方法很多,但我觉得比较繁琐而且部分方法还会出现失效的情况。
记录VS中一个比较好用的插件,可以一次性彻底解决这个问题。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值