windows下的乱码问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WhoisPo/article/details/80956040

在windows中,使用codeblocks时容易遇到编码的问题。windows的默认编码一般都是GBK,而gcc默认编码为UTF-8,因此如果在windows编写的程序中有中文字体,可以输出时就有乱码。

可以通过以下进行设置,让gcc知道输入的文件的编码:

-finput-charset=GBK

如果编译的程序,需要在windows上运行,也需要让gcc把输出的可执行程序用GBK进行编码

-fexec-charset=GBK

这两个设置在
[setting]-[compiler settings]的[other compiler options]下填写
这里写图片描述

做完上面两个设置还不够,还必须能够确保程序源代码的编码是GBK,这个时候就需要设置源代码的保存编码
在[settings] - [editor] - [encoding settings]

这里写图片描述

把UTF-8格式改为GBK格式,并且把这个编码设置成默认编码
注意:如果本来编码为UTF-8,打开后没有做任何修改,那么这个代码仍然是UTF-8格式的。为了让编码变为GBK格式的,这需要随便改一改源码,然后重新保存,这个时候就会保存成设置的默认格式。

一般网上下载的用gcc/g++编译的源代码都是UTF-8格式的,为了减少修改的任务量,也为了方便与其他人交换源代码,最好把源代码的默认保存格式设置成UTF-8。 又为了能够在Windwos环境中编译运行,可以给gcc设置成

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

这样也可以在本地运行代码,不会出现乱码问题。

猜你喜欢

转载自blog.csdn.net/WhoisPo/article/details/80956040