中小学电教

综合新闻

windows 控制台 cmd/PowerShell 中文显示乱码,解决方

来源:中小学电教 【在线投稿】 栏目:综合新闻 时间:2020-09-25

cmd 控制台默认编码,一般是简体中文默认的GBK,如果出现中文乱码,一般改为UTF-8可解决。

打开 cmd 控制台窗口

win(窗口键,在Ctrl与Alt之间)+R,输入 cmd,回车,这样操作会打开 cmd 控制台窗口。

检查当前的编码
C:\\Users\\AndyChen>chcp Active code page: 936

显示当家的编码格式为 936。

常用的编码及对应的码值(10进制)
十进制码值 对应编码名称
950繁体中文
Unicode (UTF-8)
936简体中文默认的GBK
437MS-DOS 美国英语
测试中文显示

将以下代码保存为一个批处理文件,如 test.bat,或者 test.cmd,双击运行

@echo off echo test chinese character view 测试中文字符显示 pause

我的测试如下:

test chinese character view 娴奶瘯涓枃瀛楃鏄剧ず Press any key to continue . . .

当为936时,中文显示乱码。

修改控制台CMD编码格式为UTF-8 临时修改为 UTF-8

执行chcp

C:\\Users\\AndyChen>chcp  Active code page: 

这种方式在关闭 cmd 之后会自动失效,下次再打开,还是会变回默认的 936。

永久修改方法一win+R 或者点击开始菜单,找到运行,在运行输入框里面输入regedit,回车,会打开注册码编辑窗口,在地址栏输入:Computer\\HKEY_CURRENT_USER\\Console\\%SystemRoot%_System32_cmd.exe,回车。

image 双击CodePage然后先择十进制,改为。

image 同理,可以修改 PowerShell 的默认编码,位置:Computer\\HKEY_CURRENT_USER\\Console\\%SystemRoot%_System32_WindowsPowerShell_v1.0_,如果没有CodePage,则在该项下新建一个 DWORD(32位值),命名为CodePage,值设为

重启 cmd/PowerShell 后生效。

永久修改方法二

创建文本文件 ,内容如下:

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\\Console\\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_] \"CodePage\"=dword:0000fde9 [HKEY_CURRENT_USER\\Console\\%SystemRoot%_System32_WindowsPowerShell_v1.0_] \"CodePage\"=dword:0000fde9 [HKEY_CURRENT_USER\\Console\\%SystemRoot%_System32_cmd.exe] \"CodePage\"=dword:0000fde9

双击运行。

再次测试中文显示

运行之前的测试脚本,显示如下:

test chinese character view 测试中文字符显示 Press any key to continue . . .

能够正常显示,说明设置成功。

小技巧

在某一个文件夹/目录下,按住 Shift 点鼠标右建,可以打开 PowerShell。

image 附:所有编码对照表
十进制码值 对应编码名称
代码页国家(地区)或语言
437美国
708阿拉伯文(ASMO 708)
720阿拉伯文(DOS)
850多语言(拉丁文 I)
852中欧(DOS) - 斯拉夫语(拉丁文 II)
855西里尔文(俄语)
857土耳其语
860葡萄牙语
861冰岛语
862希伯来文(DOS)
863加拿大 - 法语
865日耳曼语
866俄语 - 西里尔文(DOS)
869现代希腊语
874泰文(Windows)
932日文(Shift-JIS)
936中国 - 简体中文(GB2312)
949韩文
950繁体中文(Big5)
1200Unicode
1201Unicode (Big-Endian)
1250中欧(Windows)
1251西里尔文(Windows)
1252西欧(Windows)
1253希腊文(Windows)
1254土耳其文(Windows)
1255希伯来文(Windows)
1256阿拉伯文(Windows)
1257波罗的海文(Windows)
1258越南文(Windows)
西里尔文(KOI8-R)
西里尔文(KOI8-U)
中欧(ISO)
拉丁文 3 (ISO)
波罗的海文(ISO)
西里尔文(ISO)
阿拉伯文(ISO)
希腊文(ISO)
希伯来文(ISO-Visual)
希伯来文(ISO-Logical)
用户定义的
自动选择
日文(JIS)