您的位置:首页 > 编程语言 > Java开发

让CMD窗口显示中文[JAVAC输出中文错误信息乱码的解决]

2013-05-09 10:14 801 查看
临时解决方案:

在 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"

当打开一个DOS(运行command,实际上运行的是ntvdm.exe程序)窗口或

CMD(运行cmd,实际上运行的是cmd.exe程序)窗口后,

在其窗口的上方蓝边界处右键点击,在弹出的菜单中选择“属性”,

[当然这时候选“默认值”会出来一个与“属性”一样的界面,但是好像不能进行设置。]

在出来的属性界面中的“选项”标签下面有一个当前代码页,

如果为 437(OEM-美国)

那么这个窗口是不支持显示中文的,

所以用CMD命令中的CHCP命令来解决:如下:

比如:CHCP 936

这样就可以显示中文了。

[不过CHCP命令好像改不了ntvdm.exe的代码页]

CHCP命令是用来显示或设置活动代码页编号。

格式如下:

CHCP [nnn]

nnn 指定代码页编号。

不加参数键入 CHCP 显示活动代码页编号。

nnn指定一已有的系统字符集,该字符集在CONFIG.SYS文件中由COUNTRY命令定义。

MS-DOS为以下国家和语言提供字符集:

437 美国

850 多国语(Latin I)

852 斯拉夫语(Latin II)

860 葡萄牙语

863 加拿大语-法语

865 北欧语

936 中文

PS:

因为现在的JDK下载的时候是MultLanguage多语言版本的,JDK安装完后后根据操作系统的语言环境选择设置Local对象信息,从而使用相应的语言环境,如果不想使用中文信息,可将操作系统的语言环境改为英文,比如在Windows中的控制面板中的"区域和语言选项"-->"区域选项"-->"标准和格式"中,将语言格式设置为"英语(美国)"即可.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: