error converting to execution character set illegal byte sequence报错解决办法

       今天在codeblocks美滋滋写完一个程序后,发现编译时老是报错:error converting to execution character set illegal byte sequence。然后百度一搜,说是Windows(中文)默认的字符集是Windows-936(GBK),而GCC编译器默认编译的时候是按照UTF-8解析的,当未指定字符集时一律当作UTF-8进行处理。所以要在settings->compiler->Global compiler settings->Other options添加 

-fexec-charset=GBK
-finput-charset=UTF-8

        前者表示编译的时候输入文件的编码解释格式,后者表示生成的执行文件执行的时候显示用的编码格式。

       同时。要在settings->Editor->gernal settings->Other settings,这里将默认保存的文件编码格式设置为UTF-8,保持两边编码格式相同。 

       但是我这样做了以后发现还是没用。。。后来才发现是我的程序不知道啥时候被我改成了ANSI格式 ,所以一直要么编译错误,要么中文乱码。

       要解决这个问题,可以用记事本打开代码文件,选择左上角的文件->另存为,如何选择UTF-8的编码格式保存即可。

本文参考博客:CodeBlocks 中文乱码"converting to execution character set illegal sequence"_蛋叔(公众号同名)的博客-CSDN博客

  • 32
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值