Hibernate + MySQL中文乱码问题

如果持久化的类中有包括了汉字的String对象,那么对应到数据库中汉字的部分就会是乱码。这主要是由于MySQL数据表的字符集与我们当前使用的本地字符集不相同造成的。

 

如果是windows系统,那么系统默认的本地字符集是gb2312,为了让数据表也使用gb2312字符集,我们要以这样编写创建数据表的SQL语句:

 

[sql][/sql] view plaincopyprint?

  1. CREATE TABLE TEST
  2. {
  3.     …
  4.     …
  5.     …
  6. }default character set gb2312;

然后在hibernate.cfg.xml中加上:

 

 

[html][/html] view plaincopyprint?

  1. <property name=”connection.characterEncoding”>gb2312</property>

如果是linux系统,则只需要把上面的gb2312改成UTF8即可。

标签