httpclient 中文响应乱码

今天接到第三方接口对接任务,看到文档对方提供https接口,于是搞起httpclient的证书忽略。

过程中发现接口返回数据居然是这样子:

            {"data":{},"resp":{"code":602,"desc":"ä½é¢ä¸è¶³ï¼è¯·åå¼"}}

先看一段代码片:

            HttpResponse res = client.execute(post);
            if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
                HttpEntity entity = res.getEntity();
                //这个位置已经获取到响应对应的字符串
                String result = EntityUtils.toString(entity);
            }
有可能大部分人的代码都是这样的,但是请注意这个方法:

EntityUtils.toString(entity);
跟源码发现httpclient默认字符集是IOS-8859-1  所以想转成对应字符的同学 请在上面的方法上加上对应的字符集

EntityUtils.toString(entity,"UTF-8");





你可能感兴趣的:(httpclient 中文响应乱码)