Heim  >  Artikel  >  Datenbank  >  SpringMVC+MyBatis+MySQL的中文乱码小结

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

WBOY
WBOYOriginal
2016-06-07 15:35:111246Durchsuche

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

这样设置在我这边就没什么问题了。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn