出现中文乱码的原因:
前台页面的编码和后台的编码不一致导致的。 页面默认发送的都是ISO8859-1, 后台默认使用的都是utf-8
解决方案:
post: 数据存在:request体中,request.setCharacterEncoding("utf-8");
以上过程每一个request请求都要处理一次,所以通常会在web.xml里配一个过滤器如下:
<filter>
<filter-name>characterEncoding</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>
</filter>
<filter-mapping>
<filter-name>characterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
get : 数据存在:url?key=value
两种方式
1.*username = new String(username.getBytes("ISO8859-1"),"utf-8");
2.在tomcat的conf/server.xml下的connetor属性中增加URIEncoding。配置如下:
<Server port="8005" shutdown="SHUTDOWN">
<!-- 其他配置 -->
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />
<!-- 其他配置 -->
</Service>
</Server>