我在用hibernate框架的单元测试类向mysql数据库中保存中文数据的时候出现了乱码的问题,我查看了mysql中表的字符编码为latin1
我将mysql的my.ini配置文件中两处default-character-set=latin1改为default-character-set=gbk
然后在命令提示符中输入net stop mysql停止mysql服务,然后在用net start mysql启动mysql服务
此时你在向数据库中保存中文字符应该就没有问题。。
如果还是不行。就修改下hibernate.cfg.xml中的hibernate.connection.url配置为jdbc:mysql://localhost/hibernate_many2one_ufk_1?useUnicode=true&characterEncoding=gbk
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate_many2one_ufk_1?useUnicode=true&characterEncoding=gbk
</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="ls/rjkf/hibernate/Person.hbm.xml"/>
<mapping resource="ls/rjkf/hibernate/IdCard.hbm.xml"/>
</session-factory>
</hibernate-configuration>