使用Hibernate向数据库插入中文数据时数据库中总是不显示中文字符,像这样:
中文字符用?代替。而且我们数据库字段的编码方式以及JavaProject保存编码方式都设置了UTF-8,问题就出在了hibernate.cfg.xml的默认编码方式不是UTF-8,这样就导致与数据库的编码方式不同,两者没法交流啊。
解决方案:
在hibernate.cfg.xml配置文件中设置与你数据库和项目相同的编码方式:
<span style="font-size:14px;"><property name="hibernate.connection.characterEncoding">utf-8</property></span>
这样再运行就可以了。
另外大家需要注意的是在Hibernate项目中,以下3处的编码方式是必须统一的
1:你的配置文件hibernate.cfg.xml编码方式,上面已经给出
2:你的数据库字段编码方式
3:你的项目保存的编码方式