>  기사  >  데이터 베이스  >  SpringMVC+MyBatis+MySQL的中文乱码小结

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

WBOY
WBOY원래의
2016-06-07 15:35:111249검색

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

这样设置在我这边就没什么问题了。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.