使用java jdk编程在DOS状态下运行时,无法显示程序输出的汉字,该怎么办?

如题所述

cmd乱码,一般是代码页问题,
chcp 936,切换为简体中文,chcp 437,切换为英文
或者直接在cmd默认属性中修改,
对应注册表项:HKEY_CURRENT_USER\Console 中的codepage,删除即可,

在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。
如果想正确显示UTF-8字符,可以按照以下步骤操作:
1、打开CMD.exe命令行窗口
2、通过 chcp命令改变代码页,UTF-8的代码页为65001
chcp 65001
执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确显示UTF-8字符。
3、修改窗口属性,改变字体
在命令行标题栏上点击右键,选择"属性"->"字体",将字体修改为True Type字体"Lucida Console",然后点击确定将属性应用到当前窗口。
这时使用type命令就可以显示UTF-8文本文件的内容了:
type filename.txt
4、通过以上操作并不能完全解决问题,因为显示出来的内容有可能不完全。可以先最小化,然后最大化命令行窗口,文件的内容就完整的显示出来了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-03
是不是你的编码格式有问题呀,换一下编码格式,就是java文件另存的时候有编码方式的选择:utf-8
还不行的话乱码部分也可以用:

String output = new String(b,0,num,"gb2312");
转换一下本回答被网友采纳
第2个回答  2013-03-30
很简单,只需要在DOS命令提示行输入chcp 936 按回车键,再重新运行java程序就好了
第3个回答  2012-07-03
没什么,改一下文件编码格式追问

在哪里改,该怎么改呢?

追答

用文本编辑器打开文件,另存为,有个选编码的,选一下