关于request和response的乱码问题
Posted 潇雨随缘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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"); 在发出响应之前加上即可。
至此,问题应该解决了!
初次写博客,有什么不对的地方还请各位看官不吝赐教。
以上是关于关于request和response的乱码问题的主要内容,如果未能解决你的问题,请参考以下文章
关于项目在网页中运行部分jsp出现乱码(由request.getRequestDispatcher("XXX.jsp").forward(request, response)造成)
request.getRequestDispatcher("**.jsp").forward(request,response);乱码的解决