首页 > 代码库 > 请求乱码和响应编码的解决方案

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

为什么会乱码?

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

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

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

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

  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

 

 

 

 

 

 

  

    

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