Code::Blocks输出中文乱码问题解决方案 您所在的位置:网站首页 c语言输出特殊字符乱码怎么办 Code::Blocks输出中文乱码问题解决方案

Code::Blocks输出中文乱码问题解决方案

2024-07-10 00:25| 来源: 网络整理| 查看: 265

1.环境:

Winsows7

IDE:Code::Blocks 16.01   

编译器:GCC

2.问题描述:

在代码中使用 printf(“中文”);打印中文字符的时候,编译过后没有错误,可以运行,但是实际显示的时候是乱码。 

网上的搜索答案,一般解决Code::Blocks中文乱码的方法几乎都是:settings -> compiler and debugger settings -> global compiler settings -> compiler settings -> Other Options, 在其中输入语句 -finput-charset=GBK 和 -fexec-charset=GBK保存即可。

但是通过这种方式编译会出错。错误如下:

||error: failure to convert GBK to UTF-8|

3.解决方法

GCC编译器默认编译的时候是按照UTF-8解析的。但是windows下只能正确显示GBK格式的文件。这个问题就是uft-8和gbk冲突的问题。如果一个文件本来是以utf-8存的,但是以gbk打开,当然会出现乱码了。

如果你把源文件保存成UTF-8,GCC本来默认把它当成UTF-8解析,所以编译能通过,但是会显示是乱码。如果输入和输出都改成是GBK,那么GCC是解码不了的,所以编译会失败。

正确的方法是根据实际情况来设置输入输出的格式。默认输入的是UTF-8,要在windows上显示正常的中文,那输出格式就要改成GBK了。所以按照网上的步骤,最后应该设置的信息是:

-finput-charset=UTF-8

-fexec-charset=GBK

设置步骤如下:settings -> compiler and debugger settings -> compiler settings -> other compiler options  ->  写入上面的信息。

 

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有