帮助中文显示乱码的问题

03-01-14 javang
各位

这里有一个关于中文显示的问题,首先我们的环境介绍:app server是jboss3.0.4,OS 是win2000(server),在jboss之上有个topas服务器, web部分采用struts框架的jsp,数据库是mysql.

我在.jsp里面已经设置charset为GB2312,当我浏览IE的时候,页面的静态部分是正常的中文显示,而当我往数据库里读写数据时,数据就出现乱码,望得到各位的帮助.急!!

banq
2003-01-14 10:19
取决于你所有server的操作系统,如果都是中文win2000,那没问题,如果其中有一个是english,那么要对在其中运行的系统相关部分强制编码修改,

如是数据库,在驱动url后加encoding=GBK之类.

javang
2003-01-14 10:36
老兄,我的系统是win2000中文版,我的所有系统都在一台机器上。我在<url>后面已经试过GBK,UTF-8等还是不可以,好急啊

banq
2003-01-14 15:00
class编译也要在windows2000中文下编译

我的意思是全部要在中文操作系统下编制编译 部署。

iceant
2003-01-14 15:52
有时间可以总结一下开发环境与中文问题的情况。

本想在 club.163.com 上套几个老N 写写文章,可惜都太忙,没人写...

banq
2003-01-15 09:52
是啊,这个问题一直有人在总结,一直都没有完美的方案,达成共识的是:Java的编码完全依赖平台,而Java系统是由很多组件搭建的,因此要保证组件的编译 发布都是在同一编码体系内。但是具体做起来,如果使用jsp等需要容器运行的程序,那么也必须修改容器到同一编码体系,已经有人发现通过修改tomcat源码再编译后达到效果的:

javang
2003-01-15 10:35
我的class和jsp都是部署到jboss3.0.4上的,不知道在jboss什么地方可以修改,用来实现字符编码的一致性,各位,我们可以好好研究,讨论。

iceant
2003-01-15 13:28
TO:Banq

"已经有人发现通过修改tomcat源码再编译后达到效果的:"

据我所知,在 Tomcat 3.* 的时候有人在网上说过他修改了 tomcat,使它可以很好支持 GB2312.

但是,我认为那不是一种好的方法,因为像我们要支持海地,中国,日本...的国内外市场,要支持的语种很多,支持好了GB2312,其它的又有问题了,而且GB2312并不能同时在一个视图里显示多国文字。另外, 现在有了 Filter,Servlet Specification 中的 HttpServletRequest 也修改过了,那个解决方案已经不再需要。

我一直希望在 UTF-8 里找到一套解决方案。

现在我已经有基于UTF-8的数据库和文档上传的解决方案,只是一直没有时间静下来,过年希望有点时间可以写一写(如果我 GF 同意给点时间我 ^_^),与大家一起探讨一下。

猜你喜欢