当前位置:编程学习 > JAVA >>

tomcat乱码问题,急

我写了个程序根据腾讯微博api获取腾讯微博数据,程序单独跑起来没问题,但放到tomcat里面跑时,程序从腾讯得到的json数据里返回的一些中文变成了乱码?不知道怎么会这样,求大神指教 --------------------编程问答-------------------- 问题解决了,下面给解决方案,方便后面碰到这问题的人
解决方案:

      就是把QHttpClient.java文件里的这一部分
       /*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();


--------------------编程问答-------------------- 楼主这个是在读取数据的时候,就先设定编码格式的吧?

引用 1 楼 zyczy1314 的回复:
问题解决了,下面给解决方案,方便后面碰到这问题的人
解决方案:
 /*以下为正确的编码*/
BufferedReader br = new  BufferedReader(new InputStreamReader(new GZIPInputStream(response.getEntity().getContent()),"utf-8"));
--------------------编程问答--------------------
引用 2 楼 magi1201 的回复:
楼主这个是在读取数据的时候,就先设定编码格式的吧?

Quote: 引用 1 楼 zyczy1314 的回复:

问题解决了,下面给解决方案,方便后面碰到这问题的人
解决方案:
 /*以下为正确的编码*/
BufferedReader br = new  BufferedReader(new InputStreamReader(new GZIPInputStream(response.getEntity().getContent()),"utf-8"));

嗯,腾讯微博api接口写的时候可能没太注意,因为用腾讯的有些中文还是会返回乱码 --------------------编程问答--------------------
引用 3 楼 zyczy1314 的回复:
楼主这个是在读取数据的时候,就先设定编码格式的吧?
嗯,腾讯微博api接口写的时候可能没太注意,因为用腾讯的有些中文还是会返回乱码
 蒽,最近在想乱码的这个问题,这个问题经常遇到。乱码,一般就是两种:一种是拿来的数据是乱码的,那就从源头来解决;一种是给出去的是乱码的,那就从给出去的方式上做处理。
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,