请求乱码和响应编码的解决方案

Posted 薛小生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请求乱码和响应编码的解决方案相关的知识,希望对你有一定的参考价值。

为什么会乱码?

  通信双方在进行通信的时候,实际上是将通信的内容按照一定的规则转化为二进制进行通讯的。

  而这个规则就是字符的编码。 

       在请求到达的时候,另一方需要解码。

  由于通信双方的编码方式和解码方式不一样,所以造成了乱码。

  tomcat服务器默认使用iso8859-1的编码方式,浏览器不设置的话,默认的编码是gb2312,一般在jsp或者在html文件中会设置编码方式为utf-8。

  一般我们使用utf-8 的编码格式。

一、get请求乱码:

  浏览器编码--》服务器解码

  第一步:设置服务器的解码方式,如果已经创建了动态web项目并在服务器上运行过。则可以

    

   否则打开tomcat的目录。

    

    在该目录下找到server.xml

    

  第二步:

    找到connector标签,添加URIEncoding="utf8"。这里要注意,是URI而不是URL。

    

二、post请求乱码:

  在第一次请求参数之前,设置request.setCharacterEncoding("utf-8");

  

  千万记住是在第一次请求参数之前。

三、响应乱码:

  response.setContentType("text/html;charset=utf8");

  

  服务器的编码设定了同时告诉浏览器解码方式为utf-8

 

 

 

 

 

 

  

    

以上是关于请求乱码和响应编码的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Android使用接口修改个人信息中文响应是乱码

HttpServletRequest/HttpServletResponse乱码问题解决

JSP页面中的中文乱码问题

如何解决响应结果中文乱码问题

如何解决响应结果中文乱码问题

关于request和response的乱码问题