CMD环境恢复中文
先说明本人系统为windows2003。此方法肯定适应windows XP/windows 2000,至于其它windows系统就不知道了。

我有一次运行 CMD.EXE 时偶然发现 CMD.EXE 程序时发现不能输入汉字了,而且出现中文信息就是乱码,DOS命令帮助全成了英文,不能在 CMD 环境下进中文命名的文件夹了,这个还是次要的,最痛苦的是习惯了 CMD 环境下的汉字那中亲切感。我一定要把汉字找回来。怎么会搞成这样的呢?回想了一下,隐隐约觉得是由于安装一些软件时,安装程序自动执行了批处理文件或是执行了只能在 CMD 环境下运行的程序导致了 CMD 设置的更改(还是绿色好)。

可能是设置改动了,那就去查一查。点运行中的 CMD.EXE 窗口左上角,出现菜单,选“属性”一看,“属性”中的“当前代码页”框框里写着这么一行:“437 (OEM - 美国)”,问题关键就可能是这里,可是这个不能设置啊!万般无奈,以前记得好像这里是可以进行设置的,得研究一下,又点出菜单,选“默认值”项,发现“默认值”里的“当前代码页”是可以设置,有两个选项:“437 (OEM - 美国)”和“936 (ANSI/OEM - 简体中文 GBK)”,我将“当前代码页”设置为“936 (ANSI/OEM - 简体中文 GBK)”,点“确定”,没有发现一点反应。我想可能是要重运行一下“CMD.EXE”,立即重运行了一下 CMD.EXE ,发现问题依旧,“默认值”中“当前代码页”设置是“936 (ANSI/OEM - 简体中文 GBK)”,可是“属性”中“当前代码页”的设置还是“437 (OEM - 美国)”,输不了中文也显示不了中文,我想来想去的,又把System32目录下文件名中含“CMD”三个字的可执行文件折腾了一番,还是不行啊……,历时N小时,包括吃饭等日常活动。只有最后一个有嫌疑的地方了没有去搞了,那就是注册表了,一想到注册表就觉得很麻烦,但还是坚持了下来。(突听到无数骂声:一个小问题要写这么长,废话连篇#$&xtaywamj……)我只好在这里略N废字跳至关键步。

经过苦苦的搜索和提心吊胆的改表工作,得出了针对这个问题的宝贵经验(众人:还是很多废话呀!),唉~~~~!那么请将下面“蓝色部分”的代码复制到记事本里吧,另存为扩展名为“.reg”的文件,双击导入注册表就完成了 CMD 环境中汉字输入和汉字显示的恢复。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:000003a8

小说明一下:
十六进制"000003a8"或十进制"936",表示“936 (ANSI/OEM - 简体中文 GBK)”。
十六进制"000001b5"或十进制"437",表示“437 (OEM - 美国)”。