让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中的控制面板中的"区域和语言选项"-->"区域选项"-->"标准和格式"中,将语言格式设置为"英语(美国)"即可.
在 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中的控制面板中的"区域和语言选项"-->"区域选项"-->"标准和格式"中,将语言格式设置为"英语(美国)"即可.
相关文章推荐
- 【转】让CMD窗口显示中文[JAVAC输出中文错误信息乱码的解决]
- 解决 cmd 窗口 php 输出中文乱码问题
- MySQL客户端输出窗口显示中文乱码问题解决办法
- cmd命令窗口中文显示乱码的解决方法
- MySQL客户端输出窗口显示中文乱码问题解决办法
- cmd 命令行模式下不能输入中文或输出中文时显示乱码的解决办法
- MySQL客户端输出窗口显示中文乱码问题解决办法
- MySQL客户端输出窗口显示中文乱码问题解决办法
- 解决MySQL客户端输出窗口显示中文乱码问题的办法
- 解决MySQL客户端输出窗口显示中文乱码问题的办法
- MySQL客户端输出窗口显示中文乱码问题解决办法
- windows下slickedit BUILD窗口中文显示乱码的解决方法
- 开发Android调试时logcat不显示输出错误信息的解决办法
- windows 7 cmd 命令行中文显示乱码解决办法
- 我的Android进阶之旅------>Android使用cmd窗口进行adb logcat时出现中文乱码问题的解决办法
- Andriod Studio中setText输出中文在AVD中显示乱码的解决方法
- DOS命令行窗口mysql中文显示乱码问题解决方法