关于使用java.net.URL抓取网络上的资源发生乱码的解决办法

2013/8/22 21:32:32 | 阅7306 来源:好空间网络 [打印] [关闭]
 

在做jsp网站用QQ登陆,遇到QQ名称会有一些特殊字符,但是我获取后显示为乱码~~

刚刚终于解决了这个问题,记录下来

用 java.net.URL 抓取网络是的资源的时候有时候偶尔会遇的特殊字符,这个时候就会发生乱码,怎么解决这些特殊字符的乱码呢??

第一要知道要抓取的网页他的字符编码,这个一般是utf-8的

主要是我们自己的程序

String sCurrentLine20;
String sTotalString20;
sCurrentLine20="";
sTotalString20="";
java.io.InputStream l_urlStream20;
java.net.URL l_url20 = new java.net.URL("https://www.jspkongjian.net/");
java.net.HttpURLConnection l_connection20 = (java.net.HttpURLConnection) l_url20.openConnection();
l_connection20.connect();
l_urlStream20 = l_connection20.getInputStream();
java.io.BufferedReader l_reader20 = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream20));
while ((sCurrentLine20 = l_reader20.readLine()) != null)
{
sTotalString20+=sCurrentLine20;
}
out.print(sTotalString20+"<br><br>");

把这里的 

java.io.BufferedReader l_reader20 = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream20));

修改为

java.io.BufferedReader l_reader20 = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream20,"UTF-8"));

这样就ok了, 就是指定下接收的参数也为utf-8 这样就是别人传递给你什么样子,你接收后就是什么样子了...

经营许可证ICP:皖B2-20100052 公司邮箱:zcdnsz@jspkongjian.net
Copyright © 2004-2015, 安徽好空间网络科技有限公司 版权所有 , 本站素材部分来源于网络,如有侵权请告知删除。