服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

发现hibernate中文问题又一解决方法


  开发构架:hibernate2.1.6+spring1.2.2+sturts1.1;
  
  数据库:mysql4.024-nt;
  
  容器:tomcat5.0.28;
  
  开发工具:jbuilderx、eclipse3.0
  
  os:window200
  
  就在开发的时候问题出现了:在jbx下开发,用的tomcat 是自带的4.06,启动后测试中文没有任何问题(而且在jsp页面里面也没有加“ <%@ page contenttype="text/html;charset=gb2312" %> ”),中文的存取都没有乱码现象;
  
  这样就把jbx下开发的移在eclipse3.0下,用的tomcat是下载的5.0.28,启动tomcat测试发现,insert 数据是没乱码,但存数据库里面select数据时,中文时乱码的!这里很多人会想到应该不会的!其实我也是这么想的,但事实就是这样,我查可资料如这:http://www.cnblogs.com/josson/archive/2005/03/16/119619.aspx
  
  说的不错,我就按照这样作了,加了,但是还是不行,我改为:jdbc:mysql://localhost/hibstruts?useunicode=true&characterencoding=gb2312;而且filter的配置也该成了gb2312;还有对每个jsp页面也加了<%@ page contenttype="text/html;charset=gb2312" %> ,最后测试了一上午还是不行;我只能用了
  
  str=row[1].tostring();  //取出中文
  system.out.println("________=========tname1 :"+str);
  dbbyte1 = str.getbytes("iso-8859-1"); //转换字符集
  str = new string(dbbyte1);
  system.out.println("________=========tname2 :"+str); //正常的中文
  
  不会吧,天哪!这样处理中文会把我累死啊!
  
  下午,我就从比较低级的问题入手想了!是不是问题没有这么复杂?... ...
  
  原来代码就换了个tomcat,竟然如此的问题,是不是tomcat的问题,不会吧,应该5.0.28版本不比4.0.6
  
  低级吧!哦,是不是中文问题支持有所改变那!对,把在eclipse下开发的tomcat换为jbx自带的4.0.6试试!
  
  马上换用tomcat4.0.6,所以的中文问题立即消失了!md,这么让人大干的问题,竟然这么解决的!
  
  唉,不知自己的思维逻辑问题,还是tomcat的发展逻辑问题啊!看来以后还得从实践入手,不要相信技术的发展逻辑。

扫描关注微信公众号