英文操作系统java System。out中文全是乱码?

sbhjj 2007-06-08 02:17:11
英文操作系统java System.out("中文测试");显示中文全是乱码。Eclipse的text file-encoding为UTF8

String testString = "现在开始测试";

System.out.println(testString);

System.out.println(new String(testString.getBytes("ISO-8859-1"),"gb2312"));
System.out.println(new String(testString.getBytes("UTF8"), "gb2312"));
System.out.println(new String(testString.getBytes("GB2312"),"gb2312"));
System.out.println(new String(testString.getBytes("GBK"), "gb2312"));
System.out.println(new String(testString.getBytes("BIG5"), "gb2312"));
System.out.println(new String(testString.getBytes("Cp1252"),"gb2312"));

结果显示全是乱码。

String encoding = System.getProperty("file.encoding");
System.out.println("file.encoding:" + System.getProperty("file.encoding"));
此时显示为Cp1252。

但是进行如下测试
System.clearProperty("file.encoding");
System.out.println("file.encoding:" + System.getProperty("file.encoding"));
System.setProperty("file.encoding", "GBK");
System.out.println("file.encoding:" + System.getProperty("file.encoding"));
此时显示结果为 file.encoding:null。

请问,这个问题解决。

操作系统能正常输入和显示中文。还有及时Eclipse的text file encoding选项中没有GBK,GB2312。
...全文
1407 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sbhjj 2007-06-08
  • 打赏
  • 举报
回复
首先用CMD下javac可以正常显示中文,在Eclipse中的编码方式于开始就已经text file-encoding为UTF-8,还有就是在Eclipse中Text file encoding的选项只有ISO-8859-1,US-ASCII,UTF-16,UTF-16BE,UTF-16LE,UTF-8。
可是问题依然存在。
约翰羊 2007-06-08
  • 打赏
  • 举报
回复
http://download.microsoft.com/download/6/2/e/62e61f10-e106-4f4c-a862-63eec2b41efb/readme.htm
下个中文包试试。
dengfangping 2007-06-08
  • 打赏
  • 举报
回复
我遇到和你过同样的问题,首先在CMD中 看看,是否可以写中文,如果不可以在你的控制面板上加上中文,在Eclipse中选中 你的工程按Alter+Enter把编码方式改成UTF-8,jiu OK
fhuc 2007-06-08
  • 打赏
  • 举报
回复
可能是你的Eclipse不支持中文文件,试试直接在命令行使用JAVAC编译试试
fhuc 2007-06-08
  • 打赏
  • 举报
回复
System.out.println(new String(testString.getBytes("ISO-8859-1"),"gb2312"));
System.out.println(new String(testString.getBytes("UTF8"), "gb2312"));
System.out.println(new String(testString.getBytes("GB2312"),"gb2312"));
System.out.println(new String(testString.getBytes("GBK"), "gb2312"));
System.out.println(new String(testString.getBytes("BIG5"), "gb2312"));
System.out.println(new String(testString.getBytes("Cp1252"),"gb2312"));

这些转换都没意义的
约翰羊 2007-06-08
  • 打赏
  • 举报
回复
应该还是字符集的问题,有没有到微软的网站上找一个什么亚洲语言包?
也可以试试unicode
南南北北 2007-06-08
  • 打赏
  • 举报
回复
标记。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧