您的位置:首页 > 数据库 > MySQL

hibernate+mysql乱码问题解决方案

2011-04-27 16:36 141 查看
我只是提供一种可行的解决方案:

1. hibernate配置:

(1)若为struts + spring + hibernate

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">

<property name="driverClassName" value="com.mysql.jdbc.Driver" />

<property name="url" value="jdbc:mysql://10.132.145.14:3306/SSHDEMO?useUnicode=true&characterEncoding=UTF8" />

<property name="username" value="root" />

<property name="password" value="java" />

</bean>

(2)hibernate.cfg.xml

<
property
name
="connection.useUnicode"
>
true
</
property
>



<
property
name
="connection.characterEncoding"
>
UTF8
</
property
>



<
property
name
="connection.driver_class"
>
com.mysql.jdbc.Driver
</
property
>



<
property
name
="connection.url"
>
jdbc:mysql://localhost:3306/test
</
property
>



<
property
name
="connection.useUnicode"
>
true
</
property
>



<
property
name
="connection.characterEncoding"
>
UTF8
</
property
>

2. mysql配置

(1)设置mysql的默认编码为utf8,修改my.ini

[
client
]

port
=
3306

useUnicode
=
true



characterEncoding
=
utf8

#设置数据库系统本身编码格式

[
mysqld
]



default-character-set
=
utf8

(2) 右击table,选择编辑,在编辑框中选中编码有问题的row,在右下角有个column charset,选择utf8,即可。
注意:
1. 是utf8而不是utf-8;

2. 1,2两步都需要设置,步骤一我只测试过(1)方式,测试通过;步骤二中两种方式我都测试通过。

3. 第二步骤采用(1)方式设置mysql默认编码为utf8时,最好将mysql服务重启一下;并且,可能需要删除原来的表进行重 建。

注意:本篇文章只是介绍我解决该问题的一种方式,如果有人测试不通过,我们可以继续探讨。

注意:本篇文章采用的解决方法来自互联网。参考了如下两篇文章:


1.

http://blog.csdn.net/qking93415981/archive/2007/08/21/1753248.aspx

2.
http://www.blogjava.net/sakis/archive/2005/06/10/5894.html


在此感谢两位作者!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: