关于Servlet 中文编码问题,Tomcat版本的影响

in Java with 0 comment

Servlet 编码问题

Servlet获取参数编码的问题,在8.0之前,tomcat默认的编码是ISO-8859-1的,tomcat在8.0以后,默认的编码就变成UTF-8
所以在tomcat8.0后的版本都不需要处理Get方式的编码问题,而POST方式还是需要设置一下 request的编码就可以了
这里讲的是Tomcat8.0以前的版本

数据来源编码格式
浏览器页面GBK
request(Get)ISO-8859-1
request(Post)GBK,Servlet可以设置接受格式
responseISO-8859-1

处理中文的方法

request(Get)::

String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");

request(POST)

request.setCharacterEncoding("UTF-8");

response

response.setContextType("text/html;charset=utf-8");
Responses