Maison  >  Article  >  base de données  >  SpringMVC+MyBatis+MySQL的中文乱码小结

SpringMVC+MyBatis+MySQL的中文乱码小结

WBOY
WBOYoriginal
2016-06-07 15:35:111246parcourir

1、SpringMVC的Controller得到的是乱码: (1)在web.xml加上字符集过滤器: !-- Spring字符集过滤器 --filterfilter-nameSpringEncodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-parampara

1、SpringMVC的Controller得到的是乱码:

(1)在web.xml加上字符集过滤器:

	<!-- Spring字符集过滤器 -->
	<filter>
		<filter-name>SpringEncodingFilter</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>SpringEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

(2)在JSP等页面上修改:charset=UTF-8"和pageEncoding="UTF-8"


2、Controller读取到的是正确的中文,但是保存到数据库后变成“??”

(1)修改数据库连接jdbc_url=jdbc:mysql://localhost:3306/mybatistest?useUnicode=yes&characterEncoding=UTF8("&":在xml文件中表示"&")

(2)修改数据库的字符集为utf-8:打开mysql根目录下my.ini(mysql5.6为my-default.ini,要把它copy一份命名为my.ini),在下面具体位置添加(或修改):

[mysqld]
character-set-server=utf8 
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8

这样设置在我这边就没什么问题了。
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn