参考博客:https://blog.csdn.net/hk2291976/article/details/51037907
在学校学C语言,我们用的是Code Blocks软件,发现如果程序中有汉字,重新打开工程时汉字会变成乱码,但是控制台显示是正确的,如果把乱码改回正确的汉字,那控制台输出就会乱码。
其实是编辑字符集和控制台显示字符集不同导致冲突。
解决办法:
S1: 菜单栏Settings -> Editor -> Generral settings -> Encoding settings
当文件打开时使用编码 改为 UTF-8
(或者改成win-936(GBK) ,下面就要勾选As default encoding,让编辑时也使用GBK)
S2: 菜单栏Settings -> Compiler -> Global compiler settings -> Other compiler options
在Other compiler options里输入以下指令:
-finput-charset=UTF-8
-fexec-charset=GBK
(文件输入字符集为UTF-8(如果上面编辑字符集为GBK,那这里也要相应地改为GBK);
文件输出字符集为GBK(因为控制台显示的是GBK))