中国气象局天气API的中文乱码问题

发布网友

我来回答

2个回答

热心网友

解决办法
第一步:b[]=htmlStr.getBytes("ISO-8859-1"); htmlStr=new String(b);把ISO-8859-1换成utf-8

第二步:右键项目----》Properties(最后一个)---》Resource(第一个选项)-----》Other选择utf-8
给好评呦!!!

我都写出来了测试过了

java代码
public class abc {

public static void main(String[] args) throws ClientProtocolException, IOException {
getInfo();
}

public static void getInfo() throws ClientProtocolException, IOException{

String htmlStr = getHtmlFile("http://www.weather.com.cn/data/cityinfo/101010100.html");
try{
//ISO-8859-1 city":"北京","cityid":"101010100","temp1":"25�?,"temp2":"17�?,"weather":"小到中雨转阵�?,
//utf-8 {"weatherinfo":{"city":"鍖椾�?,"cityid":"101010100","temp1":"25鈩�,"temp2":"17鈩�,"weather":"灏忓埌涓洦杞�?���?
byte b[]=htmlStr.getBytes("utf-8"); htmlStr=new String(b);
} catch(Exception e) {
e.printStackTrace(); e.getMessage();
}
System.out.println(htmlStr);

}

public static String getHtmlFile(String url) throws ClientProtocolException, IOException{
String result="";
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResponse;
HttpGet httpGet = new HttpGet(url);
HttpEntity httpEntity;

InputStream is = null;
//ʹ�ÿ��˷�������

httpResponse = httpClient.execute(httpGet);
httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line = "";
while((line = reader.readLine()) !=null){
result = result + line;}

return result;

}
}

热心网友

编码问题,你要转换编码

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com