我的程序 在 java 控制台 下载网页并显示网页内容 ,在显示中文时 乱码
然后 我加了这么一条语句
String FileContent = new String(http.getBody().getBytes( "ISO8859_1 ",ecode);
其中 ecode 是 这个网页的编码,这是就可以了。
我想问为什么http.getBody( "utf-8 ",ecode) 就不可以呢?
------解决方案--------------------
我经常会出现这们的问题,新建一个文件指定整个页而为utf-8,要统一,统一了就没事了
------解决方案--------------------
因为页面的默认编码就是 "ISO8859_1 ",所以
new String(http.getBody().getBytes( "ISO8859_1 "),ecode);
可以,
而
new String(http.getBody().getBytes( "utf-8 "),ecode);
不行
我的理解:
关键在于getBytes( "ISO8859_1 ")才能正确读取,至于后面转换成
new String(http.getBody().getBytes( "ISO8859_1 ")); //Windows默认为GB2312
或者
new String(http.getBody().getBytes( "ISO8859_1 "), "utf-8 ");
应该都可以
------解决方案--------------------
http://community.csdn.net/
------解决方案--------------------
晕,发错了,本想支持一下上楼的,却不小心paste以上内容了!