临时解决方案:
在 CMD 中运行 chcp 936。
永久解决方案:
打开不正常的CMD或命令提示符窗口后,单击窗口左上角的图标,选择弹出的菜单中的“默认值”,打开如下图的对话框。单击第一个“选项”选项卡,将默认的代码页改为936 后重启 CMD。
附:
如果改了以后无法生效,窗口的“默认值”和“属性”没变,进入注册表,在 HKEY_CURRENT_USER 下找到 console项下的 Console 以及其下可能有的 %SystemRoot%_system32_cmd.exe(这个%SystemRoot%_system32_cmd.exe 下有的 codepage话就改,如果没有就不管它),codepage值改为 936(十进制)或 3a8(十六进制)。
936(十进制)/3a8(十六进制) 是简体中文的,如是其它语言,要改为对应的代码。然后再执行第二段中所述的操作。
还可能和 CMD 的默认值的“字体”设置有关。
在 CMD的“默认值”和“属性”的“字体”选项卡中中确认设定的字体是可以显示中文字符的字体,并且确定字体文件没有被破坏。字体最好设置为默认的点阵字体。
还是不行,干脆把%SystemRoot%_system32_cmd.exe内容备份下,然后清空它。或是把以下内容保存为REG文件导入试试。
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe]
"QuickEdit"=dword:00000800
"CodePage"=dword:000003a8
"WindowSize"=dword:001e005a
"FontSize"=dword:000c0008
"FontFamily"=dword:00000030
"FontWeight"=dword:00000190
"FaceName"="Terminal"
=============================================================
无法输入中文
确认以下事项:
1.CMD 里中文字符可以正常显示(上文).
2.注册表中 HKEY_CURRENT_USERConsole 及HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe] 下LoadConIme 的值为 1.
3.conime.exe 这个文件存在,没有受到破坏,并且正常运行.
4.输入法可以在其它程序中正常使用。
打开 CMD 后先按 Alt+Shift 后再用Ctrl+Shift 或 Ctrl+空格切换输入法。
系统自带的输入法一般可以直接用 Ctrl+Shift 或 Ctrl+空格切换,无需先按 Alt+Shift。