解决cmd命令行显示中文乱码

2018-08-20 10:58:44 查看 2379 回复 0

cmd命令行窗口显示中文乱码,多是因为cmd命令行窗口字符编码不匹配导致。

修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001 切换回中文:chcp 936 这两条命令只在当前窗口生效,重启后恢复之前的编码。

切换cmd窗口字符编码有风险,例如切换过以后中文显示乱码,并且不能永久切换回原来模式,只能每次chcp 936。

cmd中文显示乱码永久解决方案,以切换回中文936为例:

打开不正常的 CMD命令提示符窗口后,单击窗口左上角的图标,选择弹出的菜单中的“默认值”,切换到第一个“选项”tab,将默认的代码页改为 936 后重启 CMD。重启cmd后还不能正常显示请继续往下看。

如果重启 CMD以后无法生效:窗口的“默认值”和“属性”没变,则进入注册表,在 HKEY_CURRENT_USER\Console下找到%SystemRoot%_system32_cmd.exe(如果没有codepage就不考虑了),codepage值改为 936(十进制)或 3a8(十六进制)。 936(十进制)是简体中文的,如是其它语言,则改为对应的代码。

部分字符编码对应代码:

65001——UTF-8

936——简体中文

950——繁体中文

437——美国/加拿大英语

932——日文

949——韩文

866——俄文

最后一个乱码原因:CMD 的“默认值”或“属性”窗口的“字体”选项卡中设定为可以显示中文字符的字体,并且确定字体文件没有被破坏,字体最好设置为默认的点阵字体。