QT 中文字符报错乱码 C2001

由于工作限制QT只能用很早的版本,学QT的时候,使按钮显示字符setText中放入中文字符,编译时报错

网上查了很多方法,主要是字符编码不一致的问题,这里总结一下

首先查一下编码是不是UTF-8

上方菜单栏中点击工具,在下拉列表里点击选项

在弹出的选项窗口中,进入文本编辑器->行为界面

右边文件编码模块,保证默认编码为UTF-8

然后加个头文件

#include <QTextCodec>

就加在出问题的那个文件里

把要输入的中文字符放进 QString::fromUtf8 函数里

这样改完还是报错(

有人说在中文字符最后加个空格把双引号和中文隔开

加上空格之后可以运行了但是是乱码

后来无意间发现一个很神奇的现象,中文字符个数是奇数的时候可以正常显示,是偶数就不行

最终找到的解决方法:

找到出问题的这个文件所在的位置

用记事本打开之后,点击文件->另存为

窗口下面有个编码

改成带有BOM的UTF-8

保存,直接替换掉原文件

回到QT,会弹出一个窗口

然后再运行,就可以成功显示中文了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值