因为Windows中文系统中,命令提示符默认的编码是 "简体中文 GBK",代码页编号为936。编辑器
而开发经常使用的编码为UTF8,要操做的时候就得手动切换编码 chcp 65001 性能
此时才能保证提示和输入不会乱码。编码
可是这只是权宜之计,重启命令提示符后又会变成默认的GBK,须要有一个办法默认让命令提示符变成 UTF8编码。spa
不少帖子都说改注册表里的一个项就能够:3d
HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe
修改"CodePage"=dword:0000FDE9
博主是直接安装的Windows10 1903 专业版,注册表内没有这个项,应该是微软取消了这个项。code
由于微软也想用性能给好,功能更强大的Power Shell替代命令提示符,因此在之后的版本会逐步替代掉命令提示符。可是博主用习惯了命令提示符,虽然也体验到了Power Shell的强大,仍是用习惯了命令提示符,因此决心要改一下。blog
既然系统软件都是基于注册表保存的配置,那么命令提示符的配置也必定是基于注册表的。直接修改十六进制值是很麻烦的,因此不如从别处入手。能够在命令提示符中手动切换编码,难道不能够在注册表里,让命令提示符启动的时候自动修改命令提示符的编码么?开发
(1) 按 "win" + "r" 打开 "运行" ,输入 regedit 后点击肯定,打开了 注册表编辑器。字符串
(2) 按照目录进入 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 目录。cmd
(3) 在右边空白处右键,选择"新建"-"字符串值"。
数值名称:autorun
数值数据:chcp 936
(4) 从新开启命令提示符,会直接显示 Active code page: 65001 说明已经自动修改成utf8编码了。
(5) 为了适应部分程序多是使用GBK编码,咱们须要一个简单的办法一键修改默认编码。新建一个 .bat 批处理文件,在里面写入字符串。
@reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor" /v "autorun" /t REG_SZ /d "chcp 代码页编号" /f
修改里面的汉字部分为其余编号,保存后用管理员身份运行就能够修改了。
(1) 主流代码页编号以下。
chcp 437 英文
chcp 932 日文
chcp 936 简体中文
chcp 950 繁体中文
chcp 65001 UTF-8