转载symgdwyh,很有效。
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></textarea></p>
注意:添加数据页面跟显示数据页面的编码格式要保持一致,不然的话就会出现添加到数据库中没乱码,从数据库中显示出现乱码的情况。