qt+msvc中文乱码+解决法

一、起因及现象

qt+mingw相性>qt+msvc

在mingw下编译无问题,在msvc下编译成功,但显示的中文乱码,如下

msvc编译后运行

 

mingw编译后运行

 

二、原因分析

Qt默认的编码格式为UTF-8,而MSVC使用的编码为GBK编码,当使用Qt MSVC版本进行编译而源码采用UTF-8保存时就会出现中文乱码问题。

三、解法有三

1.找到工具-》选项-》文本编辑器(亲测有效)

 在pro文件里添加如下代码即可

msvc{
    QMAKE_CFLAGS += /utf-8
    QMAKE_CXXFLAGS += /utf-8
}

2.  在报错的文件开头添加如下代码,更改编码格式(亲测有效)

#pragma execution_character_set("utf-8")

3.在中文乱码的地方,在字符串的最后加一个空格(没成功,不知道是不是姿势不对------)

四、注意

如果修改后,编译出来的还是乱码,先把之前的编译的文件删掉,再编译一次。

(啊~渣渣qt creator,我vs宇宙第一!!!/(ㄒoㄒ)/~~)

bz:mingw没问题,而msvc编译不过的话,找到出错的代码,删掉重写一遍(原因中英文全半角符号导致)

我有一口槽不吐不快啊~~~~mingw是qt亲儿子,但能力不足。msvc是干儿子,能力出众,但不受待见(嘤嘤/(ㄒoㄒ)/~~)

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值