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 星期一

原文地址:https://www.cnblogs.com/ning-wang/p/6476107.html