【亲测】CMD终端中文乱码终极解决方案!

问题背景

执行gcc编译代码,显示的打印信息乱码,如下图

图片[1] - 【亲测】CMD终端中文乱码终极解决方案! - 正则时光

原因分析

这是因为CMD代码页是英文的,不支持中文。

图片[2] - 【亲测】CMD终端中文乱码终极解决方案! - 正则时光

常用的编码及对应的码值(10进制):

十进制码值对应编码名称
950繁体中文
65001UTF-8代码页
936简体中文默认的GBK
437MS-DOS 美国英语

我们要做的就是修改代码页为65001(UTF-8代码页)

解决办法

一、临时办法

直接在cmd窗口中输入chcp 65001

图片[3] - 【亲测】CMD终端中文乱码终极解决方案! - 正则时光
图片[4] - 【亲测】CMD终端中文乱码终极解决方案! - 正则时光

二、永久性修改

通过修改注册注册表达到。

1.打开注册表,win+R”或者点击开始菜单,找到运行,在运行输入框里面输入“regedit”;

图片[5] - 【亲测】CMD终端中文乱码终极解决方案! - 正则时光

2.按照如下步骤修改代码页编码为65001,注意选择十进制!

图片[6] - 【亲测】CMD终端中文乱码终极解决方案! - 正则时光

特别说明:如果注册表中没有SystemRoot%_system32_cmd.exe

1、在注册表HKEY_CURRENT_USER\Console下新建SystemRoot%_system32_cmd.exe项

2、新建一个 DWORD(32位值),命名为CodePage,值设为65001

图片[7] - 【亲测】CMD终端中文乱码终极解决方案! - 正则时光

效果展示

直接打开cmd终端,默认代码页就是65001了,成功!

图片[8] - 【亲测】CMD终端中文乱码终极解决方案! - 正则时光
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享