首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> 开源技术 >> Tomcat >> 正文

tomcat向weblogic移植的中文乱码问题

我有个servlet处理含有中文的表单,  new  String(s.getBytes("ISO8859-1"),  "GBK");转码,  tomcat5.5中没有问题,但是移植到weblogic8.1,转码后还是乱码,  哪位大侠知道怎么解决?

---------------------------------------------------------------

 

由于操作系统、浏览器、数据库、JVM采用的字符集都不一样,基于Weblogic  Server开发的应用经常出现中文显示乱码问题,其实在Weblogic  Server上运行的WEB应用有很多与字符集有关的设置.

 

以下我给出一些方法,楼主试试配置一下吧!

 

1.  JSP文件头加入

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

 

指定该JSP采用的字符集。

 

2.在Weblogic.xml文件的中加入:

 

encoding

GBK

 

指定JSP文件中采用的字符集,在JSP文件中的<%@  page  contentType="text/html;  charset=GBK"  %>会覆盖该设置

 

3.在Weblogic.xml文件的中加入

 

compilerSupportsEncoding

true

 

如果为TRUE,指定在编译JSP文件时,采用在JSP文件中定义的

 

<%@  page  contentType="text/html;  charset=GBK"  %>中定义的encoding参数中定义的字符集进行编码,如果为FALSE,则采用JVM中默认指定的字符集进行编码。

 

4  Weblogic  Server需要把HTTP  request(GET  POST)中的数据从它的原始编码转化为Unicode,以便Java  servlet  API进行处理,为了做这种转换,Weblogic  Server需要知道HPPT  request中的数据的编码方式。这可以通过在Weblogic.xml中设置.

/

GBK

 

---------------------------------------------------------------

 

以上是对于一般情况的处理,接着还有2项是比较特殊的方法:

 

和你实际应用有关:

 

1.从ORACLE数据库中检索出来的中文显示不正确时,在这种情况下,如果数据库使用的是中文字符集,并使用的是Type  2  JDBC  Driver时,可加入Weblogic.codeset=GBK的属性来解决这个问题。代码如下:

 

java.util.Properties  props  =  new  java.util.Properties();

props.put("Weblogic.codeset",  "GBK");

props.put("user",  "scott");

props.put("password",  "tiger");

String  connectUrl  =  "jdbc:Weblogic:oracle";

Driver  myDriver  =  (Driver)

Class.forName("Weblogic.jdbc.oci.Driver").newInstance();

Connection  conn  =

myDriver.connect(connectUrl,  props);

 

2  如果是采用WTC调用Tuxedo中的服务,在JSP页面中无法正确显示中文,必须使安装Tuxedo服务器上的NLS_LANG环境变量与数据库中的字符集的设置一样。如后台Oracle数据库中的字符集设置为SIMPLIFIED  CHINESE_CHINA.ZHS16GBK,那么Tuxedo应用服务器上的NLS_LANG环境变量应设置为:export  NLS_LANG="SIMPLIFIED  CHINESE_CHINA.ZHS16GBK"

【责编:Amy】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·Oracle外键及外键约束修改行为
 ·开源软件测试工具学习专题
 ·JSP Web开发 入门基础到高手进阶教程
 ·JavaFX—是Java桌面的新希望么?
 ·安全至上 .NET开发安全策略
 ·测试用例设计之道-测试用例学习专题
 ·面向Java开发人员的Scala指南
 ·Java设计模式之实例详解
 ·Oracle数据库11g 面向DBA和开发人员的重要新特性
 ·桌面应用软件编程 J2SE技术详解
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航