关于request和response的中文乱码问题

相信大家在开发Web项目中都会遇到中文的请求乱码和响应乱码的情况,现在给大家梳理一下并提供解决方案。

1.为什么会出现乱码:

    出现乱码的根本原因是浏览器和服务器的解码方式不一致引起的。所以我们统一编码方式就可以了。

    而浏览器默认的解码方式为UTF-8,所以我们只要将服务器端的编码方式设置为对应的UTF-8就可以了。

2.解决方案

 2.1 请求乱码(request)

       get请求:

      (1)找到并打开tomcat目录下的server.xml文件

 (2)找到<Connector>标签,在之后加上 URIEncoding="UTF-8" 即可,注意有两个<Connector>标签,找下图对应的,别找错了。

       (由于我的tomcat的端口号从8080改为了8088,所以大家找的时候还是按照port="8080" 找就可以了)

   post请求:

      这个容易解决,用服务器自带的设置编码方式就可以了  request.setCharacterEncoding("utf-8");

      最好写在前面,即发出请求之前。

    2.2   响应乱码(response)

                response.setContentType("text/html;charset=utf-8");   在发出响应之前加上即可。             

至此,问题应该解决了!

初次写博客,有什么不对的地方还请各位看官不吝赐教。

     

原文地址:https://www.cnblogs.com/xuningchuanblogs/p/7352835.html