httpclient post请求中文乱码解决

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2017-10-21 12:37
  • 4625人已阅读
简介 概要:在使用httpclient发送post请求的时候,接收端中文乱码问题解决。正文:我们都知道,一般情况下使用post请求是不会出现中文乱码的。可是在使用httpclient发送post请求报文含中文的时候在发送端数据正常但是到了服务器端就中文乱码了。解决办法:发送端进行设置编码如下:主要代码:if(null!=jsonParam){//解决中文问题。method.addHeader("

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

概要:

在使用httpclient发送post请求的时候,接收端中文乱码问题解决。

正文:

我们都知道,一般情况下使用post请求是不会出现中文乱码的。可是在使用httpclient发送post请求报文含中文的时候在发送端数据正常但是到了服务器端就中文乱码了。

解决办法:

发送端进行设置编码如下:



主要代码:

if (null != jsonParam) {

//解决中文问题。

method.addHeader("Content-type","application/json; charset=utf-8");

method.setHeader("Accept", "application/json");

method.setEntity(new StringEntity(jsonParam.toString(), Charset.forName("UTF-8")));

}

HttpResponse result = httpClient.execute(method);

在接收(服务器)端:



主要代码:

@RequestMapping(value = "getJson")

@ResponseBody

public Map getJson(@RequestBody String requestBody, HttpServletRequest request){

requestBody = new String(requestBody.getBytes(), Charset.forName("utf-8"));

JSONObject jsonObject = JSONObject.parseObject(requestBody);

ResultJsonInfo info = JSONObject.parseObject(jsonObject.toJSONString(), ResultJsonInfo.class);

//TODO 处理自己业务

JSONObject result= new JSONObject();

result.put("success", "true");

Map resultMap = new HashMap();

resultMap.put("isok", true);

return resultMap;

}

这样处理之后。再次请求。乱码问题解决。

ps:

如果您觉得本文对您有帮助,烦请您转发。谢谢!

欢迎

关注:【凯哥java】

欢迎关注凯哥公众号:凯哥Java

欢迎访问凯哥个人网站:www.kaigejava.com

本文原创地址:http://www.kaigejava.com/article/detail/37

推荐阅读:

在用httpclient发送post请求错误解决

httpclient post请求中文乱码解决

spring mvc 返回json报406错误

使用java awt最简单的截屏程序


TopTop