鸿洋OkHttpUtil网络请求中文乱码

GA666666 2021-04-25 PM 19℃ 0条

okhttputils.zip
okhttputils的post请求带json参数

 OkHttpUtils
                .postString()
                .url(url)
                .content(new Gson().toJson(new User("zhy", "123")))
                .mediaType(MediaType.parse("application/json; charset=utf-8"))
                .build()
                .execute(new StringCallback() {
                    @Override
                    public void onError(Call call, Exception e, int id) {
                        
                    }

                    @Override
                    public void onResponse(String response, int id) {

                    }
                });

加上请求头也会乱码,debug发现传过来的不是乱码,因为不是通过jar导入的项目,所以可以修改源码,ctrl点一下 execute里面的StringCallBack

public abstract class StringCallback extends Callback<String>
{
    @Override
    public String parseNetworkResponse(Response response, int id) throws IOException
    {
        return response.body().string();
    }
}

把: return response.body().string();修改一下
改成:return new String(response.body().bytes(),"GB2312");
问题完美解决

标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~