解决【访问腾讯微博API返回的结果为乱码的问题】

使用腾讯微博官方提供的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();

问题即可解决!


你可能感兴趣的:(解决【访问腾讯微博API返回的结果为乱码的问题】)