输入中文,编译提示错误:
- Code::Blocks 编辑器保存源文件用的编码。
通过在编辑(Edit)菜单下的文件编码(Encoding)子菜单中选择BOM和UTF-8,然后保存并编译源文件。
2 GCC编译器编译的时候对输入的源文件解释用的编码
GCC编译器可以通过-finput-charset=charset设置来指定编译器用什么编码解释输入源文件。比如源文件的字符集是GBK,那么就必须指定-finput-charset=GBK,如果不指定,一律当做UTF-8处理,这时如果源文件编码不是UTF-8,编译时就会出现编码转换错误。
在Code::Blocks 13中也可以进入设置菜单打开编辑器设置对话框,在常规设置的“其它”页面中修改这一编码(如下图)
3 编译可执行文件所用编码
如果源代码文件和编译器输入设置的编码是一致的,编译时就不会报错了,但是编译后运行时,在控制台显示的依然是乱码!
那是因为控制台显示的时候缺省的是使用系统默认的字符集,比如windows下用的是GBK,但是默认情况下,编译之后的执行文件时编译成UTF-8的,所以又出现了不统一,乱码由此而生