使用腾讯微博官方提供的Java sdk 访问微博的API时返回的结果为乱码,经过转码 :GBK 转UTF-8后发现部分中文转换后成功了,部分任然是乱码
解决办法:
将SDK 中的 QHttpClient.java类的http请求方法中的以下部分代码进行修改
byte[] b=new byte[2048];
GZIPInputStream gzin = new GZIPInputStream(response.getEntity().getContent());
int length=0;
while((length=gzin.read(b))!=-1){
responseData.append(new String(b,0,length));
}
gzin.close();
修改为:
BufferedReader br = new BufferedReader(new InputStreamReader(new GZIPInputStream(response.getEntity().getContent()),"utf-8"));
String s;
while ((s = br.readLine()) != null ) {
responseData.append(s);
}
br.close();
问题即可解决!