Code::Blocks输出中文乱码问题解决方案 |
您所在的位置:网站首页 › codeblocks显示中文乱码 › Code::Blocks输出中文乱码问题解决方案 |
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 办公设备维修网 版权所有 豫ICP备15022753号-3 |