jsp页面中输入中文数据,保存到mysql数据库中是乱码,从数据库中读取数据后在jsp页面显示还是乱码,要解决此问题需从以下几个方面考虑:
1、获得mysql的字符集
查看mysql字符集的命令是:
mysql> show variables like "character_set_%";
character_set_system 总是utf-8
这5个最好总是保持一致,
character_set_client
character_set_connection
character_set_database
character_set_results
character_set_server
2、在jsp页面指定编码格式,保证跟mysql的字符集一致:
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
3、web.xml添加字符编码过滤器,编码方式也要保证跟mysql的字符集一致:
- <!-- 著名 Character Encoding filter -->
- <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>
- </filter>
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <url-pattern>*.do</url-pattern>
- </filter-mapping>
注意:添加数据页面跟显示数据页面的编码格式要保持一致,不然的话就会出现添加到数据库中没乱码,从数据库中显示出现乱码的情况。