1)中文JSP页面编码统一为UTF-8后,页面可以正常显示,但从数据库中获取的数据依然显示乱码(比如下拉表单的数据);
2)当使用了springMVC提供的编码Filter拦截处理后,表单数据、从数据库获取的数据、表单提交中文都正常了,但页面上的中文字体却乱码了,如下图所示:
解决方法:
1)在web.xml 中配置代码如下:
<filter>
<filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>2)修改JSP页面增加“<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>”,如果已经存在则不需要添加。