##发送post时,设置了utf-8,中文还是乱码?

Posted lyn4ever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了##发送post时,设置了utf-8,中文还是乱码?相关的知识,希望对你有一定的参考价值。

发送post时,设置了utf-8,中文还是乱码?

我们用HttpUrlConnection或HttpClient发送了post请求,其中有中文,虽然我们两边都设置了utf-8,但还是乱码?
我们在request和response端应该设置了如下 :

  request.setCharacterEncoding("utf-8");
  post.setHeader("Content-type", "application/json; charset=utf-8");

但是对于中文,我们还要进行url编码和解码

URLEncoder.encode(param); //url编码
param= URLDecoder.decode(param); //url解码

虽然这两个方法已经过时,但是jdk8并没有删除它,我们照样可以用。这是取简易的方法,如果以上方法不行,我们就加上编解码方式,不过会抛出UnsupportedEncodingException异常,要处理。

URLEncoder.encode(param,"utf-8"); //url编码
param= URLDecoder.decode(param,"utf-8"); //url解码

以上是关于##发送post时,设置了utf-8,中文还是乱码?的主要内容,如果未能解决你的问题,请参考以下文章

java web项目 在linux服务器发送http post请求 中文乱码

tomcat中文乱码解决办法

mysql数据库备注乱码?跪求解答?

怎么解决jsp页面get传值中文乱码问题

gitk中文乱码问题处理

用JAVA发送邮件,正文乱码该如何解决