Cmd命令行模式下乱码的修改
问题:cmd 命令行模式下不能输入中文或输出中文时显示乱码.
原因:控制台的代码页为437(改为936就正常了)。
说明一下:
十六进制"000003a8"或十进制"936",表示“936 (ANSI/OEM - 简体中文 GBK)”。
十六进制"000001b5"或十进制"437",表示“437 (OEM - 美国)”。
解决方案如下:
一、 永久解决方案有如下两种:
(1) 图形界面化修改:
打开不正常的 CMD或命令提示符窗口后,单击窗口左上角的图标,选择弹出的菜单中的“默认值”,打开如下图的对话框。单击第一个“选项”选项卡,将默认的代码页改为936 后重启 CMD。
(2) 注册表修改(不会的朋友请勿乱改):
点击"开始",选择"运行 ",输入: regedit 点击"确定",就可以打开注册表了. 进入HKEY_CURRENT_USER/Console/%SystemRoot%_system32_cmd.exe下将CodePage项值改为十进制"936"值或 十六进制"000003a8"值。
二、 临时解决方案:
chcp命令修改:
若要查看当前字符集的设置,可用命令:
chcp
MS-DOS给出类似于下列信息的响应:
Active code page: 437
若要将当前字符集改为936(中文),可输入命令:
chcp 936
若系统没有准备所指定的字符集时,MS-DOS会给出警告,显示下列错误信息:
Incalid code page. |
如果某设备(监视器、键盘、打印机)不支持此字符集,MS-DOS会显示如下类似的错误信息:
Code page 936 not prepared for device nnn. |
附:
437 | 美国 |
850 | 多国语(Latin I) |
852 | 斯拉夫语(Latin II) |
860 | 葡萄牙语 |
863 | 加拿大语-法语 |
865 | 北欧语 |
936 | 中文(中国) |
By Samdy
2009-12-20 finish