问题:hibernate3插入mysql数据库,数据库里显示是乱码,读出来发送到页面又没问题.
配置:tomcat的sever.xml/过滤器,mysql里表的字符集等都已经设置为utf-8;
网上这个问题的讨论很多,都一一试了,没一个出现效果...
解决1:
jdon论坛板桥里人老大提出的解决方法:
在hibernate.cgf.xml里加入以下字段:
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.characterEncoding">
UTF-8
</property>
结果:没有任何变化...
解决2:
说是hibernate3.0的问题,用3.13的hernate3.jar覆盖原来的包即可;
结果:没有任何不同....
解决3:
给每个插入数据修改编码,new string(old.getBytes("xxx","gbk"),"utf-8");
结果:且不说有没有效,要为每一个插入做一次编码,我不累死了....
目前依然找不到解决方法,放着个乱码数据库,插入都得通过页面提交请求来插入,如果直接在数据库里直接写入个不是乱码得中文记录,读出来反而乱码了...orz