post中文处理
1post在spring里的设置web.xml文件
<!-- 字符处理 UTF8 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
2设置HttpServletRequest.setCharacterEncoding("utf-8")
3设置tomcat里的字符集
get中文处理
1设置tomcat
2自己解码new String(username.getBytes("ISO-8859-1"),"UTF-8");
tomcat字符集
1tomcat8之前默认是ISO8859-1,tomcat8及其以后,是UTF-8;
2设置tomcat下的conf/server.xml文件的URIEncoding="UTF-8" ;
找到如下代码:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改后:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
为什么默认的编码是iso-8859-1/UTF-8,下面这篇博客讲解了探索过程,但是tomcat8依旧是这几个包,他的编码为什么变为UTF-8?
https://blog.csdn.net/gschen_cn/article/details/26155875