关于Tomcat8.0版本文字编码的问题

在Tomcat8.0之前的版本,如果你要向服务器提交中文是需要转码的(如果你没有修改server.xml中的默认编码),因为8.0之前Tomcat的默认编码为ISO8859-1

POST方式提交

request.setCharacterEncoding("utf-8");  //设置编码
String parameter=request.getParameter("name");  //取出的值不乱码
GET方式提交
String paramter=request.getParameter("name");  //此时取出的值是乱码的
paramter=new String(parameter.getBytes("iso8859-1"),"utf-8");  //先使用iso8859-1解码,在用utf-8编码

而在8.0之后的版本默认编码为UTF-8(这个问题困扰了我好久哭),所以GET不需要处理,但是POST还是需要处理。(POST的处理和8.0之前的一样)

如果你使用的是8.0以后版本,不想换成低版本,但是想学习GET提交的编码处理,就更改一下server.xml中的配置吧。

server.xml在conf目录下。

将默认编码改为ISO8859-1(在server.xml找到Connector,并添加上URIEncoding="iso8859-1")

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="iso8859-1"/>

猜你喜欢

转载自blog.csdn.net/qq_35638156/article/details/80071951
今日推荐