jodd-http post中文乱码问题

一、使用http框架

 <dependency>
          <groupId>org.jodd</groupId>
          <artifactId>jodd-http</artifactId>
          <version>5.0.2</version>
      </dependency>

二、问题描述:

今天因为业务需要,调用其他公司的接口,来推送数据, 结果接口联调时发现,出现中文汉字的乱码问题。

发现设置charset="utf-8"不生效,

HttpRequest request = HttpRequest.post(url);
request.contentType("application/json");
request.charset("utf-8");  // 依旧出现中文乱码

三、问题解决

发现使用charset不生效后,查看jodd-http的源码后,改用下面方面解决了中文乱码问题。

params 为借口推送的json字符串

contetent为"application/json"

HttpRequest request = HttpRequest.post(url);
request.bodyText(params,content,"utf-8");

源码如下:

 发现bodyText方法会先讲我们的json字符串通过  srcCharsetName=“utf-8” 变成byte[],在将byte[] 通过ISO-8859-1编码为字符串

推送给对面,就不会出现乱码了。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值