新浪博客

Code::Blocks中文汉字显示为乱码的解决方法

2019-04-16 10:06阅读:
Code::Blocks中文汉字显示为乱码的解决方法

1. 问题来源

l 问题出现时间:2019.04.09~2019.04.10
l Code::Blocks中输入C++程序代码;
l C++程序代码中包含中文汉字等;
l 编译运行成功后,中文汉字全部显示为乱码;

2. 运行环境

l 计算机系统:windows7 32位 家庭普通版;
l Code::blocks版本:Code::Blocks 17.12

3. 原因

(1) 代码中中文默认输入和输出的格式不一
样导致输出乱码;
(2) Code::Block 17.12中的输入和输出格式分别为:
l 输入:WINDOWS-936GBK);
l 输出:UTF-8
(3) 输入和输出的格式不统一,故输出的中文汉字为乱码;

4. 解决方法

(1) 点击菜单栏的settings,选择Editor,进入“Encoding Settings”,“Use encoding when opening files”为默认的“WINDOWS-936”;
Code::Blocks中文汉字显示为乱码的解决方法
(2) 选择As default encoding(bypassing C::B auto-detection)”;
Code::Blocks中文汉字显示为乱码的解决方法
(3) 点击菜单栏的settings,选择Editor,进入“Compiler”,
Code::Blocks中文汉字显示为乱码的解决方法
(4) 选择compiler settings”下的“Other compiler options”菜单,添加下面的文件名称:
-finput-charset=WINDOWS-936
-fexec-charset=GBK
(5) 点击OK确定,输出的中文汉字正常;
Code::Blocks中文汉字显示为乱码的解决方法

5. 附注

20190415日将第4小节中提出的解决方法中的设置恢复到原设置后,代码中的中文字符仍然正常输出显示;
由于相隔几天的时间,之前出现的问题无法正常复现,深层次的原因并未真正找到;
后续出现类似问题,可以从上面几个方面重新查找。

我的更多文章

下载客户端阅读体验更佳

APP专享