SpringMVC parameter binding-garbled problem
1. Why are garbled codes generated
The same binary data, using different encoding methods to
get different characters
// ???? ----> 退回到元数据的二进制----> 1011 ----> 使用UTF-8 解码 ----->中国
String newName = new String(name.getBytes("ISO8859-1"),"UTF-8");
String newName = new String(name.getBytes("GBK"),"UTF-8");
2. It is recommended to use a filter
UTF8Filter
public class UTF8Filter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
chain.doFilter(req, resp);
}
public void init(FilterConfig config) throws ServletException {
}
}
web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<filter>
<filter-name>UTF8Filter</filter-name>
<filter-class>com.wzx.filter.UTF8Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>UTF8Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>