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


临时解决方案:

在 CMD 中运行 chcp 936。

永久解决方案:

打开不正常的 CMD 或命令提示符窗口后,单击窗口左上角的图标,选择弹出的菜单中的“默认值”,打开如下图的对话框。单击第一个“选项”选项卡,将默认的代码页改为 936 后重启 CMD。

 让CMD窗口显示中文[JAVAC输出中文错误信息乱码的解决]_第1张图片

附:

如果改了以后无法生效,窗口的“默认值”和“属性”没变,进入注册表,在 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中的控制面板中的"区域和语言选项"-->"区域选项"-->"标准和格式"中,将语言格式设置为"英语(美国)"即可.

你可能感兴趣的:(精品文摘)