Servlet's characters of get and post
Tomcat默认是使用ISO8859-1来解码的,ISO8859-1是不支持中文的。
1、post请求解决乱码原因:
服务器不知道按哪种编码来处理HTML等文件来响应给浏览器的,所以处理post请求时,归根结底就是要处理response给浏览器的编码模式
切记:处理编码的代码段,一定要放置在获取写出流之前,在第一次使用response之前 即
放置在response.getWrite()之前。
三种格式如下:
1.1 response.setContentType("text/html;charset=utf-8");
1.2 response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
1.3 response.addHeader("ContentType","text/html;charset=utf-8");
2、get请求解决乱码原因:
浏览器在提交请求时,域名后的参数已经进行tomcat自带的ISO8859-1编码来进行编码了,所以要在服务器接收请求之前就告知服务器如何编码
即在tomcat服务器下的server.xml下修改参数:
<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080"protocol="HTTP/1.1" redirectPort="8443"/>
3、其余乱码原因:
其余的项目乱码问题,基本都是因为设置ide、project或者page时,没有进行设置编码格式,导致编码与解码出现偏差!
posted on 2020-02-23 12:12 EasyGoingHulk 阅读(79) 评论(0) 编辑 收藏 举报