快速业务通道

WebLogic8.1的中文问题解决方法 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

WebLogic8.1的中文问题解决方法

时间:2010-12-21 周海根

1. 静态页面中文信息不能正确显示

浏览器端看到中文不能正确显示,首先应该检查浏览器是否支持中文,浏览器 的编码是否设置正确.为保证静态页面中文信息正确显示可以在HTML <HEAD> 部分增加:

<meta http-equiv="Content-Type" content="text/html" charset="GBK">

2. JSP里的中文提示信息不能正确显示

JSP里的中文提示信息不能正常显示,最直接的原因是WebLogic的默认字符集 不是中文字符集(Weblogic8.1里是setlocal,Weblogic7.0sp3,sp4为UTF-8),因此 可以在JSP页面中设置字符集,加入如下脚本:

<%@ page contentType="text/html; charset=GBK" %>

这种做法需要对每个JSP页面进行设置,下面的做法针对所有的jsp页面进行设 置,比较通用.

3. JSP文件中的提示信息不能正确编译

JSP文件中的提示信息正确编译,可以在weblogic.xml里设置如下脚本,同时也 可以解决上面说的第二个问题:

<jsp-descriptor> <jsp-param> <param-name>compileCommand</param-name> <param-value>javac</param-value> </jsp-param> <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>

4. JSP文件之间不能正确传递中文数据

JSP文件之间不能正确传递中文数据,可以有两种方法解决.

其一:在web.xml里加上如下脚本:

<context-param> <param-name>weblogic.httpd.inputCharset./*</param- name> <param-value>GBK</param-value> </context-param>

其二:在weblogic.xml里加上如下脚本:

<charset-params> <input-charset> <resource-path>/*</resource-path> <java-charset-name>GBK</java-charset-name> </input-charset> </charset-params>

当然这种问题也可以自己用java.net.URLEncoder和java.net.URLDecoder来 处理中文.

以上都没有涉及到数据库操作,所以当出现乱码时,逐一分析,

必能找到问题所在.另外可能还需要修改WebLogic应用服务器所在操作系统的 字符集,确保支持中文.

WebLogic8.1的中文问题解决方法(2)

时间:2010-12-21 周海根

文件名和目录中的中文问题

如果你的文件名或者目录是中文怎么办呢?上面提到的方法不能解决你的问题 了.这时需要使用java.net.URLEncoder编码.举个例子,在test.jsp里,你需要提 供一个超链接到 ./测试/测试.jsp,你可以这么写:

<p><a href="<%=java.net.URLEncoder.encode("./测试/测 试.jsp")%>">go</p>

JDBC中的中文问题

如果以上的方法还不能解决你的乱码问题,那么可能是JDBC操作中的失误.这 里以Oracle9I为例来说明jdbc中的中文问题.首先查询数据库:

select * from v where parameter=''NLS_CHARACTERSET'';

得到数据库的字符集,如果ZHS16GBK,则JDBC的操作不需要转码;如果是 us7ascii,则需要转码或者作相关配置.下面以使用不同的数据库驱动程序为例来 介绍.

1. 使用Thin Driver

如果使用Thin Driver,那么需要在查询数据库的时候将字符集由ISO转换为 GBK,写入数据库的时候将字符集由GBK转换为ISO.

举个例子:

插入一条记录:

Connection conn=null; PreparedStatement pstmt = null; try { String strSql="insert into tabA(A,B) val

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号