当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>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的发展逻辑问题啊!看来以后还得从实践入手,不要相信技术的发展逻辑。
相关内容
赞助商链接