中文乱码的原因是多方面的,例如,mysql数据库的编码设置,jdbc字符串的编码设置,jsp文件中的编码设置等
1.创建MySQL数据库时字符集使用utf8 -- UTF-8 Unicode,排序规则使用utf8_unicode_ci
2.jdbc字符串使用形如:jdbc:mysql://localhost:3306/libdb?user=root&password=123456&useUnicode=true&characterEncoding=utf8
3.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>