临时解决方案:
在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_USER\Console\%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_USER\Console 及 HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe] 下 LoadConIme 的值为 1.
3.conime.exe 这个文件存在,没有受到破坏,并且正常运行。
4.输入法可以在其它程序中正常使用。
打开 CMD 后先按 Alt+Shift 后再用 Ctrl+Shift 或 Ctrl+空格切换输入法。
系统自带的输入法一般可以直接用 Ctrl+Shift 或 Ctrl+空格切换,无需先按 Alt+Shift。
转自:http://www.cnblogs.com/sunjialiang/archive/2011/11/17/2252439.html