hibernate的中文问题的解决方案

hibernate的中文问题的解决方案
2004年11月30日  作者:kjj  Matrix-与Java共舞    
系统配置:win2k3 server,jsdk 1.5.0 rc,mysql 4.0.20a,hibernate 2.1.0 ,elcipse 3.0.1
问题描述:在使用hibernate作为数据持久层的方案时,照样会遇到中文问题,具体情况时插入到数据库中的汉字显示为??,显示数据时汉字为??
探索: 经过试验发现与汉字编码有关的地方有以下两处,一个是数据库连接url ,一个是编程时获取Configuration 类的实例的语句的方式。
方案1:
    * 编程时获取Configuration 类的实例的语句为
    * new Configuration().addClass(xx.class);
    必须在hibernate.properties文件里数据库连接url后加上?    characterEncoding=gbk&useUnicode=true
方案2:
    * 编程时获取Configuration 类的实例的语句为
    * new Configuration().configure().
    在hibernate.cfg.xml文件的<session-factory/>块中设置
        <property name="connection.useUnicode">true</property> 
        <property name="connection.characterEncoding">UTF-8</property>
    或编程时写:
      Properties extraProperties = new Properties(); 
      extraProperties.put("hibernate.connection.useUnicode", "true"); 
      extraProperties.put("hibernate.connection.characterEncoding", "UTF-8"); 
      myConfiguration.addProperties(extraProperties);

原来怀疑与xml页面的编码有关试了一下,好像不起作用。

以上参考了 url.gifhttp://forum.javaeye.com/viewtopic.php?t=5497 


参与论坛讨论:http://www.matrix.org.cn/forum.asp
更多技术文章:http://www.matrix.org.cn/article.asp
Matrix java门户:http://www.matrix.org.cn
原文地址:http://www.matrix.org.cn/article/1103.html
任何获得许可转载此文章,须在显著位置标明Matrix的原文地址,并做链接至原文页面,查看详细的版权说明
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值