对于乱码问题,最根本的是需要确切知道是在那一步操作(client-->servlet/jsp(other components)-->db-->(other components)servlet/jsp-->client)的时候乱的。 下面是我们一位工程师对常见中文问题的总结,供参考: 
情况一:JSP 文件中的中文提示信息不能正确显示 
解决方法:在JSP 文件中加入 
<%@ page contentType=“text/html; charset=GBK“ %> 可以解决这个问题 
情况二:JSP文件中包含中文提示信息时,不能正确编译 
解决方法:在weblogic.xml文件的<jsp-descriptor>部分加入 
<jsp-descriptor> 
<jsp-param> 
<param-name>compilerSupportsEncoding</param-name> 
<param-value>true</param-value> 
</jsp-param> 
<jsp-param> 
<param-name>encoding</param-name> 
<param-value>GBK</param-value> 
</jsp-param> 
</jsp-descriptor> 
可解决这个问题。 
情况三:从数据库中检索出来的中文显示不正确时,在这种情况下,如果数据库使用的是中文字符集,并使用的是Type 2 Jdbc Driver时,对于Weblogic 而言,当使用其提供的oci driver时,可加入Weblogic.codeset=GBK的属性可解决这个问题 
情况四:在JSP文件之间传递中文时,如果不能正确传递中文数据,可在web.xml文件中加入 
<context-param> 
<param-name>weblogic.httpd.inputCharset./*</param-name> 
<param-value>GBK</param-value> 
</context-param> 
可解决这个问题。 
情况五:为使浏览器能正确显示中文,应在 HTML <HEAD> 部分增加: 
<meta http-equiv="Content-Type" content="text/html" charset="gbk">  
 
  
 
 
情况一,只是提示浏览器使用什么编码解析html,不是根本的乱码问题,也就是客户端可以直接习惯浏览器编码方式 
情况二和情况四,在我碰到乱码时从没有生效过 
情况三也不够全面 
我几次做项目加上每次劳烦BEA工程师大驾,一起总结出的经验主要是,从客户端语言地区设置-weblogic所在操作系统语言地区设置-java编译选项-数据库语言地区设置,这些设置要完全一致,你才能正确看到中文。 
客户端语言地区设置:客户端主要使用windows平台,一般应该没有问题。我只在别人的案例里看见过有修改客户端语言地区设置,如果你实在穷途末路,再考虑这个。 
weblogic所在操作系统语言地区设置:如果是中文windows,应该也没有什么问题。如果是unix/linux,那么要在启动weblogic的用户的profile里加上LANG=zh,具体的语言,要看你的操作系统而定。注意你如果是su切换用户,一定要su - xxx,不然也会乱码。 
java编译选项:这个我一般都会加上,在我的系统里使用ant,我会在build.xml里加上encoding,一般指示javac -encoding GB2312。 
数据库语言环境设置:这个我不是特别熟悉,一般你用pl/sql能正确往数据库插入中文记录,那么你就别期望指责数据库了。 最后给一个救命绝招,request.setCharaterEncoding("GB2312")。在你实在没辙的时候,试试这个。但是这个使用起来要谨慎,它如果执行1次以上,也会出现乱码。而且不一定适应所有平台环境,想想你的系统写好了一堆jsp,结果跑到客户那里安装不正确,难道你要修改所有的页面吗?   
  
在 platform7.0上我还有一个中文问题始终还是没解决,那就是获取浏览器提交(POST方式和GET方式)的数据,始终不正确,不论直接输出到JSP页面,还是插入数据库后从数据库里来查看。我已经在 Web app Descriptor里的JSP Descriptor里设置了Encoding=gb2312,其结果是在weblogic.xml里加了一段 
<jsp-param> 
<param-name>encoding</param-name> 
<param-value>gb2312</param-value> 
</jsp-param> 
但是还是不起作用。(用request.setCharacterEncoding是可以,但是我始终觉得不应该用程序来管这事) 另外两个地方的问题,一是JSP显示中文,只需要设置ContentType就可以,二是数据库中文问题在连接池属性里加一个 weblogic.codeset=gb2312就可以了。  
刚刚终于弄明白“Resource Path”的意思,FORM提交中文的问题可以解决了,设置“Web application deployment descriptor”,增加一个Charset Params,Input Charset Descriptor, 
Resource Path = "/*" 
Java Charset Name="gb2312" 
之后别忘了Persist。 操作的结果是在 weblogic.xml里增加了一段: <charset-params> 
<input-charset> 
<resource-path>/*</resource-path> 
<java-charset-name>gb2312</java-charset-name> 
</input-charset> 
</charset-params> 因此也可以直接修改 weblogic.xml。但推荐还是使用Console来改。 
 当你的weblogic运行环境是西文时,一下一定要做: 
编译代码时加上encoding GBK选项 
指定JSP编译时的encoding选项,也就是“情况二”所提及的 
使用JSP的page命令来指定content-type。不过大部分情况下不是一定要做,因为WLS能从JSp编译的encoding那边获取应该使用的编码类型