一 、问题描述
在源文件编码格式为utf-8,有中文字符输出,在cmd终端输出乱码。
二、问题原因
cmd终端编码为GBK编码方式,而源文件的编码方式为utf-8,中文字符输出时显示乱码。
三、解决方案
1、修改cmd活动代码页编号
- 使用chcp查看cmd终端编码格式
- 常用活动代码也编号
GBK:936
UTF-8:65001 - 永久更改活动代码页编号
在注册表中找到以下路径进行修改:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
2、修改源文件编码格式
- 将源文件编码格式转换为ANSI编码方式,重新编译运行。
问题总结
出现乱码原因,一般是由于编码方式不一致的原因。需要查看文件编码方式与输出环境的编码方式,确定修改环境编码方式还是更改文件的编码方式。