版权声明:本文为博主原创文章,未经博主允许不得转载。 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
这样也可以在本地运行代码,不会出现乱码问题。