用hibernate向mysql中插入数据如果出现乱码,我们可以用下面几步进行检查,然后解决:
1.第一步:检查数据库的字符集:
a>,用insert语句直接在工具(SQLyog Enterprise-通常的mysql工具,或许你用的其他的工具) 上添加一条记录。
b>用select查询刚刚添加的那条数据,如果里面是乱码,可以得出结论,数据库的字符集设置有问题(至少现在可以得出这个结论)。
解决方法:
a> 如果你创建好了数据库,即可用该方法来Alter(修改)数据库的字符集
b>修改my.ini文件:
我mysql装在d盘(看你的安装盘符而定),打开my.ini,找到这句:
[mysql]
default-character-set=utf8 ,并修改为utf8,保存即可
以上步骤都做完后(注意:字符集要保持一致,一般用utf8),你再到数据表中添加一条有中文的数据,是不是已经ok了!!
2.第二步:在hibernate.cfg.xml:中修改连接串的字符集:
找到这句:
在后面加上设置字符集的参数,修改后即可: