使用腾讯微博官方提供的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();问题即可解决!
本文详细介绍了在使用腾讯微博官方提供的Java SDK访问API时遇到乱码问题的解决方案,通过将SDK中的QHttpClient.java类的http请求方法中的代码进行修改,将GBK转UTF-8的转码方式应用到API请求中,有效解决了中文乱码问题。
4万+

被折叠的 条评论
为什么被折叠?



