当前位置: 代码迷 >> Java Web开发 >> 中央天气预报Api返回的Json乱码有关问题,求指教
  详细解决方案

中央天气预报Api返回的Json乱码有关问题,求指教

热度:315   发布时间:2016-04-16 22:22:42.0
中央天气预报Api返回的Json乱码问题,求指教。

public class test {
public static void main(String[] args) {
try {
URL url = new URL("http://m.weather.com.cn/data/101010100.html");
InputStream inputstream = url.openStream();
String s, str = "";
BufferedReader in = new BufferedReader(new InputStreamReader(
inputstream));

Writer out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("d:/weather.xml"), "utf-8"));
while ((s = in.readLine()) != null) {
str += s;
System.out.println(str);
}
out.write(str);
out.close();
in.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

打印出来 乱码了
{"weatherinfo":{"city":"鍖椾含","city_en":"beijing","date_y":"2014骞?鏈?鏃?,"date":"","week":"鏄熸湡浜?,"fchh":"11","cityid":"101010100","temp1":"8鈩儈-3鈩?,"temp2":"8鈩儈-3鈩?,"


求指教!!
------解决方案--------------------
BufferedReader in = new BufferedReader(new InputStreamReader(
                    inputstream));

改成

BufferedReader in = new BufferedReader(new InputStreamReader(
                    inputstream,"UTF-8"));

即可
  相关解决方案