前几天在cb写代码的时候出现中文乱码(如下)
本来也是新手,啥都不会,只能到处查解决方法。网上确实有,但是不知道为什么我的CB还是会出现各种奇葩状况。后来在一本教材里面找到了解决方法如下(疯狂感谢这位老师!!!):
在Windows系统中程序输出中文时,如果出现乱码,则很可能是编码方式不一致导致的,例如UTF-8和GBK发生冲突。如果一个文件本来是以UTF-8编码方式保存的,但是以GBK编码方式打开,就会出现乱码。有两种解决方法:
第一种解决方法:用UTF-8打开文件。UTF-8是Linux系统中常用的中文编码方式,MinGW是gcc的编译器,默认是UTF-8编码方式,但是单击下拉菜单Settings→Editor→Encoding Setting,如图2-72所示,可以看到默认的编码方式是WINDOWS-936(其实就是GBK)。此时可以把文件打开的编码方式修改为UTF-8,如图2-73所示。修改完设置后必须重新保存文件才有效,这意味着以后保存的文件都是UTF-8编码,因此相比于第一种解决方法,更推荐使用第二种解决方法。
第二种解决方法:仍使用WINDOWS-936编码方式打开和保存文件,但是让编译器使用GBK编码编译程序,即图2-72中的设置保持不变,仍勾选作为默认的编码格式,但是打开下拉菜单Settings→Compiler→Other compiler options,文本框中输入下面
两行内容:
-finput-charset=GBK
-fexec-charset=GBK
然后单击0K按钮,重新保存文件,就可以让编译器使用GBK编码编译程序了
当时CB出现状况没截图,就用了书上的图
参考教材《C语言程序设计学习指导(第4版)》