对于乱码问题,最根本的是需要确切知道是在那一步操作(client-->servlet/jsp(other components)-->db-->(other components)servlet/jsp-->client)的时候乱的。
下面是我们一位工程师对常见中文问题的总结,供参考:
l 情况一:JSP 文件中的中文提示信息不能正确显示
解决方法:在JSP 文件中加入
<%@ page contentType=“text/html; charset=GBK“ %> 可以解决这个问题。
解决方法:在JSP 文件中加入
<%@ page contentType=“text/html; charset=GBK“ %> 可以解决这个问题。
l 情况二:JSP文件中包含中文提示信息时,不能正确编译
解决方法:在weblogic.xml文件的<jsp-descriptor>部分加入
解决方法:在weblogic.xml文件的<jsp-descriptor>部分加入











可解决这个问题。
l 情况三:从数据库中检索出来的中文显示不正确时,在这种情况下,如果数据库使用的是中文字符集,并使用的是Type 2 Jdbc Driver时,对于Weblogic 而言,当使用其提供的oci driver时,可加入Weblogic.codeset=GBK的属性可解决这个问题
l 情况四:在JSP文件之间传递中文时,如果不能正确传递中文数据,可在web.xml文件的<web-app></web-app>中间加入
<
context-param
>
<
param-name
>
weblogic.httpd.inputCharset./*
</
param-name
>
<
param-value
>
GBK
</
param-value
>
</
context-param
>
可解决这个问题。
注意context-param的位置按下列顺序"(icon?,display-name?,description?,distributable?, context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*)"




可解决这个问题。
注意context-param的位置按下列顺序"(icon?,display-name?,description?,distributable?, context-param*,filter*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*)"
l 情况五:为使浏览器能正确显示中文,应在 HTML <HEAD> 部分增加:
<meta http-equiv="Content-Type" content="text/html" charset="gbk">
<meta http-equiv="Content-Type" content="text/html" charset="gbk">