下载网页出现乱码

meteorlg 2007-02-06 02:56:58
我用UrlConnection下载网页,有时候中文会出现乱码(出现机率不是很高,但是下载的多了肯定会出现,比如下载会变成“?载?”),请问这是什么问题?该如何解决?谢谢
我下载网页的代码如下:
public StringBuffer download(String strUrl,String encoding) {
StringBuffer strContent=new StringBuffer();
URL myurl;
try {
myurl = new URL(strUrl);
URLConnection ucon =myurl.openConnection();
ucon.setConnectTimeout(httpConnectTimeOut);
ucon.setReadTimeout(httpReadTimeOut);
ucon.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)");
InputStream in=ucon.getInputStream();
byte buffer[]=new byte[1024];
while(true)
{
int n=in.read(buffer);
if(n<0)
break;
strContent.append(new String(buffer,0,n,encoding));
}
in.close();
} catch (MalformedURLException e) {
//e.printStackTrace();
Out.print(Out.ERROR_INFO,"False Url!");
} catch (IOException e) {
//e.printStackTrace();
//Out.print(Out.ERROR_INFO,"Http error!"+strUrl);
}
return strContent;
}

我传入的encoding参数根据网站不同,有utf-8,也有GB2312
...全文
294 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jr_zhang 2007-02-06
  • 打赏
  • 举报
回复
加一句试试:ucon.setRequestProperty("Accept-Language", "zh-cn");
Kipen 2007-02-06
  • 打赏
  • 举报
回复
编码都用GB2312...
hcz202202 2007-02-06
  • 打赏
  • 举报
回复
学习...
up

81,122

社区成员

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

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