问题: 使用CodeBlock编写了一个C++程序,运行能正常输出汉字。之后在visual studio 2019中重新编译了程序,并运行输出了正常的汉字。然后重新用CodeBlock编译该程序,输出时就出现乱码了。
原因:visual studio 2019编译程序,修改了程序文件的编码方式。
解决方法:
(1) setting->Editor->Encoding settings选项中选择default编码,并且在using this coding中选择As default coding.
(2) 重新保存所有文件,需要使用File->save file as...,这步实际上是将程序文件重新用CodeBlock设定的编码方式保存。
重新编译程序,运行程序即可解决问题。
还有网上很多人问CodeBlock输出汉字为乱码的问题,估计是安装完CodeBlock之后,编写的程序输出汉字就是乱码,网上提供的解决方法如下:
step1: 仍然需要按照前面的方法设置CodeBlock的文件编码规则为default
step2: settings->complier,在GCC的other options下输入如下内容:
-fexec-charset=gbk (可执行文件中的中文字符资源为GBK,因为windows控制台编码为GBK,这样才能正常显示中文)
-finput-charset=UTF-8 (源代码为UTF-8编码,因为GCC编译的时候是按UTF-8解析的)