Code:Blocks中文输出乱码解决方法

0x01 问题描述

CB的编码格式设置为UTF-8之后,在CMD窗口输出中文乱码。

0x02 解决办法

控制台显示的时候缺省的是使用系统默认的字符集,比如windows下用的是GBk,但是默认情况下,编译之后的执行文件时编译成UTF-8的,所以又出现了不统一,乱码由此而生!
搞懂了乱码产生的原因,那么不难得出结论,如何修改,你想修改成什么都OK,关键是要统一,并不是像网上一些人说的,修改成GBK就OK,其实你要修改成UTF-8都OK,关键是统一
修改步骤:

  1. 修改源文件保存编码在:settings->Editor->gernal settings 看到右边的Encoding group Box
    Use encoding when opening files:这个表示打开文件用的格式,第一次保存文件的时候也会用这个格式。
    As default encoding:表示设置为文件缺省保存和打开编码格式
  2. 修改编译器对源文件解释编码格式和生成执行文件执行时候采用的编码格式
    是在settings->compiler and debugger settings里面,选择对应的GCC编译器,如下图所示:

other options里面加入:

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

第一个参数表示编译的时候输入文件的编码解释格式,第二参数表示生成的执行文件执行的时候显示用的编码格式。

0x03 参考链接

2017-02-27 17:08:33 星期一

posted @   ning-wang  阅读(5470)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示