cmd 窗口乱码(CMD窗口中文乱码了)(1)


在 Windows 操作系统,经常会用到 CMD 控制台窗口执行命令,使用中文遇到乱码该怎么解决呢?

有2种方法可以解决,别着急,听我慢慢说。

临时生效

打开 CMD 窗口,输入命令【CHCP 65001】,按 Enter 键完成,OK,中文不再乱码了。

特别需要注意:这种方式是临时生效方案,仅对当前窗口生效

为啥这么神奇呢?

其实 CHCP 是一个计算机指令,告诉 Windows 操作系统我要显示设置活动代码页了,65001 是指代 UTF-8 代码页,UTF-8 是一种支持中文和英文的通用字符编码格式,在计算机领域应用广泛。

可能常见到的编码:

65001 UTF-8代码页

950 繁体中文

936 简体中文默认的GBK

437 MS-DOS美国英语

永久生效

要想永久生效,那就需要修改注册表了。

步骤如下:

  1. 快捷键 “Win R” 快速打开 运行 窗口
  2. 在 运行 窗口中输入关键字 “regedit” 就能打开注册表管理窗口
  3. 在 注册表 管理窗口中依次找到:HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
  4. 然后“右键-新建”,新建一个 dword(32位值),命名为“CodePage”,值设为“65001”
  5. 重新打开 CMD 窗口,可以看到完美支持中文了。

这种方式的实现原理与临时生效的原理相同。

当然,有时候查找注册表比较麻烦,你可以通过脚本修改注册表,步骤如下:

  1. 新建一个文本文件,输入以下代码内容
  2. 保存文件,并重命名为 “cmd_utf8.reg”,然后双击运行该文件即可设置。

输入内容:

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] "CodePage"=dword:0000fde9 "FontFamily"=dword:00000036 "FontWeight"=dword:00000190 "FaceName"="Consolas" "ScreenBufferSize"=dword:232900d2 "WindowSize"=dword:002b00d2


cmd 窗口乱码(CMD窗口中文乱码了)(2)

,