如果持久化的类中有包括了汉字的String对象,那么对应到数据库中汉字的部分就会是乱码。这主要是由于MySQL数据表的字符集与我们当前使用的本地字符集不相同造成的。
如果是windows系统,那么系统默认的本地字符集是gb2312,为了让数据表也使用gb2312字符集,我们要这样编写创建数据表的SQL语句:
CREATE TABLE TEST
{
...
...
...
}default character set gb2312;然后在hibernate.cfg.xml中加上:
<property name="connection.characterEncoding">gb2312</property>如果是linux系统,则只需要把上面的gb2312改成UTF8即可。

本文介绍了在使用Hibernate框架进行持久化操作时遇到的MySQL数据库汉字显示为乱码的问题及解决方案。主要原因是数据库字符集与本地字符集不匹配,文中详细讲解了如何根据不同操作系统设置正确的字符集。
884

被折叠的 条评论
为什么被折叠?



