Spring+Hibernate乱码解决方案

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

今天用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());

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航