当前位置:编程学习 > JAVA >>

【菜鸟】java保存繁体网页打开后出现乱码

测试时用了百度什么的都没问题,打开来还是原样,但要是url是www.google.com.hk时打开来字就全是乱码,不知道怎么解决?谢谢了
	public static void savePage(URL url) throws IOException, ParserException, IllegalArgumentException{
InputStream is = url.openStream();
int i;
String title = HTMLHelper.getTitle(url);
String file = url.getFile().trim();
String host = url.getHost().trim();
String filename = title+"("+url.getHost()+file+")";
FileOutputStream fos = new FileOutputStream("Pages\\"+filename+".html");
do{
i = is.read();
fos.write(i);
}
while(i!=-1);
is.close();
fos.close();
System.out.println("Success!The filename is:"+filename+".html");

}
--------------------编程问答-------------------- 请验证字符编码是否正确 --------------------编程问答--------------------
引用 1 楼 gufengwyx1 的回复:
请验证字符编码是否正确


我是按字节保存的,把字节流直接保存到文件中的,为什么要考虑编码方式。。?

应该怎么做呢。。 --------------------编程问答-------------------- fos.close()前记得slush --------------------编程问答--------------------
引用 3 楼 gufengwyx1 的回复:
fos.close()前记得slush

错了,是flush --------------------编程问答-------------------- flush和代码格式的转换是没关系的。
具体的我没试过,
不过你可以格式转换下,都转换为UTF-8或者其他格式。
另外,字节流也是有编码格式啊。 --------------------编程问答-------------------- 百度用的是GBK

Google用的是UTF-8


建议你做下转码。 --------------------编程问答-------------------- 麻烦在访问任何网站或者文件前,先统一编码格式。 --------------------编程问答-------------------- 获得内容后,要检测一下里面的charset设置说明是哪种编码,然后对应该编码选择保存时使用的物理编码格式。

“我是按字节保存的,把字节流直接保存到文件中的,为什么要考虑编码方式。。?”

即使是文本文件,其编码格式也有几十上百种之多,英文的,西欧的,中文字符集,韩日的,藏文的等等,不区分能行吗? --------------------编程问答-------------------- 各种文件的实质都是二进制,计算机的世界就是0和1.那怎么区分?当然就是靠格式。图片有N种格式,视频有N种格式,数据库有N种格式,文本文件同样是。
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,