·天新网首页·加入收藏·设为首页
首页|笔记本|手机|数码相机|摄像机|MP3/MP4|主板|内存|显示器|办公|打印机|下载|开发|汽车|学院|业界
硬件|台式机|数码|数字家庭|投影仪|GPS/CPU|显卡|硬盘|服务器|网络|一体机|驱动|源码|游戏|考试|报价
Spring+Hibernate乱码解决方案
http://dev.21tx.com 2006年09月23日 Blog

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

上一篇: Hibernate+ehcache二级缓存技术
下一篇: Hibernate对多表关联查询

Google
 
热点文章
关于我们 | 联系我们 | 广告服务 | 工作机会 | 版权声明 | 欢迎投稿 | 网站地图
Copyright © 2000-2008 , www.21tx.com , All Rights Reserved .
晨新科技 版权所有 Created by TXSite.net