请教一个已有系统数据移置带来的中文问题
请教一个已有系统数据移置带来的中文问题
我们原来有一套在Linux 7.2, resin, apache, mysql 下的一个j2ee应用,它们的语言编码都是iso8859-1,对中文没有作任何的处理,中文进出数据库,显示都没有问题。但是现在客户要求要把数据库移置到AIX下的Oracle 9i上,并且Oracle 9i数据库字符集要求为gbk或gb2312(天知道客户为什么会有这样的要求),现在的现状是原来的应用部是我写的,如果通过改程序在中文进出数据库的时候做转码处理,那工作量不可估计,并且我们也没有源代码。所以修改程序应该是不可行的。
可行的方法一: EncodingFilter
好像EncodingFilter只能对进入数据库的中文做转换处理,中文出来显示
不能处理吧? 我对EncodingFilter还不是很熟悉,不知道能不能对程序不做任何的修改就可以达到目的(请高手回答这个问题)。并且现在系统的Resin版本很低,连<%@ page contentType="text/html;charset=GB2312"%>都不支持,报下面的错误:
Note: sun.tools.javac.Main has been deprecated.
/HeccTest2.jsp:32: Method setCharacterEncoding(java.lang.String) not found in interface javax.servlet.http.HttpServletRequest.
request.setCharacterEncoding("GB2312");
^
1 error, 1 warning
系统的resin和cocoon是配置在一起的,并且系统一直在运行,不能停,所以升级resin的方法也不行。
方法二:修改oracle的jdbc driver,正准备测试,也不知道行不行。
题外话:我开发时对中文的处理都是,安装Linux是选中gb2312中文,编译Mysql时设定charset=gb2312,安装resin,apache,php,然后对中文就不用做任何处理了