商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

Spring+Hibernate乱码解决方案

作者:佚名  2007-01-18

IT168技术文档】 
    今天用spring+Hibernate进行中文插入时出现乱码问题,通过查资料和自己反复测试终于解决了。 

    总结了两种方法: 

    1、使用gb2312编码,变更MySQL的数据库编码字符集。cmd模式下用mysql --default-character-set=gb2312 -u root -p进入,然后再每个建表语句后增加default character set gb2312; 

    重新建立数据表。 

    值得注意的地方是:applicationContext.XML中的数据库连接必须设置为<property name="url"><value>JDBC:mysql://localhost/Struts?useUnicode=true&characterEncoding=gb2312</value></property>,这样插入的才是正常的中文,否则就是乱码。 

    2、在进行数据保存之前进行gb2312到iso8859-1编码的转换,applicationContext.xml中的数据库连接必须设置为<property name="url"><value>jdbc:mysql://localhost/struts</value></property>,这样插入的才是正常的中文,否则就是乱码。 

    它们相同的地方是在用JSP进行中文内容填加时,都要进行gb2312到iso8859-1编码的转换:
String name; name=trans(request.getParameter("name")); String trans(String chi){  String result = null;  byte temp [];  try { temp=chi.getBytes("iso-8859-1"); result = new String(temp); }  catch(Java.io.UnsupportedEncodingException e) { System.out.println (e.toString());  }  return result; } String trans(Object chi){  return trans(chi.toString()); }
1
【内容导航】
第1页: 第1页
©版权所有。未经许可,不得转载。
[责任编辑:郭宗一]