Please enable Javascript to view the contents

win10临时修改、永久cmd编码格式的方法

 ·  ☕ 2 分钟

前言

有时候,运行一些命令行程序

某些字符无法正常显示,常见的就是方块,或者是火星文字

都是由于 cmd 程序的默认编码格式为 “GBK - 中文简体” 或其他编码格式,导致某些字体不能正常显示

一、临时修改

首先查看当前的活动代码页

打开 cmd 输入chcp

如果是以前从未修改过注册表,可能打开 cmd 后,输入 chcp 会提示如下

‘chcp’ 不是内部或外部命令,也不是可运行的程序
或批处理文件。

解决方法如下

① 打开注册表编辑器

win + r,输入 regedit

计算机\HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe

② 添加 CodePage (DWORD 32 位) 值

我添加的值 936 是可以显示中文的一种编码格式(GBK - 中文简体)

这也是 windows10 中文系统默认的

这里添加的目的,是为了以后可以临时手动修改

添加CodePage值.gif

通过修改注册表的这一项后,重新打开一个 cmd 窗口,输入 “chcp”

就能显示当前的活动代码页面了(之前是无法使用 chcp 命令的)
chcp执行结果.png

现在,我们可以临时修改 chcp 为 65001 ,也就是 ‘UTf-8’ 的编码显示
chcp临时改为65001.png

当然,也可以改为你需要的活动代码页

重新打开一个 cmd 窗口,又会改为默认的 936 编码

但这只是权宜之计

二、永久修改

① 打开注册表编辑器

计算机\HKEY_CURRENT_USER\Software\Microsoft\Command Processor

② 添加 autorun 字符串值

添加autoru字符串值
现在无论你什么时候运行 cmd 命令行(哪怕是任意程序,调用 cmd 程序运行一些指令)

都会默认使用 UTF-8 的编码显示了

注意!!!!

如果需要显示特殊字体,修改编码后仍然无法正常显示,则需要额外安装命令行字体

总结

  1. 修改第一个注册表后,可以临时修改活动代码页,关闭窗口,或重启系统都会修改前的
  2. 修改第二个注册表后,只要一运行 cmd 会自动修改活动代码页为 65001
  3. 如果影响某些程序运行,可以删除这第二处注册表的值
分享

求余
作者
求余
python后端 自动化测试 网安爱好者