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

为什么会乱码?

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

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

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

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

  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

 

 

 

 

 

 

  

    

posted @ 2017-08-12 23:11  薛小生  阅读(966)  评论(0编辑  收藏  举报