开发构架: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的发展逻辑问题啊!看来以后还得从实践入手,不要相信技术的发展逻辑。
闽公网安备 35060202000074号