如果持久化的类中有包括了汉字的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即可。