zoukankan      html  css  js  c++  java
  • weblogic中文乱码问题

    由于操作系统、浏览器、数据库、JVM采用的字符集都不一样,基于Weblogic Server开发的应用经常出现中文显示乱码问题,其实在Weblogic Server上运行的WEB应用有很多与字符集有关的设置,下面做一个总结,为了正确处理中文,最好把这些设置都设上。

    1. 在JSP文件头加入

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

    指定该JSP采用的字符集。

    2.在Weblogic.xml文件的< jsp-descriptor >中加入:

    < jsp-param >

    < param-name >encoding< /param-name >

    < param-value >GBK< /param-value >

    < /jsp-param >

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

    3.在Weblogic.xml文件的< jsp-descriptor >中加入

    < jsp-param >

    < param-name >compilerSupportsEncoding< /param-name >

    < param-value >true< /param-value >

    < /jsp-param >

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

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

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

    < input-charset >

    < resource-path >/< /resource-path >

    < java-charset-name >GBK< /java-charset-name >

    < /input-charset >

    5.从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);

    6. 如果是采用WTC调用Tuxedo中的服务,在JSP页面中无法正确显示中文,必须使安装Tuxedo的服务器上的NLS_LANG环境变量与数据库中的字符集的设置一样。如后台Oracle数据库中的字符集设置为SIMPLIFIED CHINESE_CHINA.ZHS16GBK,那么Tuxedo应用服务器上的NLS_LANG环境变量应设置为:export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
  • 相关阅读:
    回顾python,就当做笔记了
    测试知识回顾
    转发 Python接口自动化
    性能测试脚本调优
    java
    新的一年,希望自己有所提升,在这简单的记录,自己的学习。
    navicat 连接 mysql 出现Client does not support authentication protocol requested by server解决方案
    tomcat context配置
    tomcat host 配置
    flyway使用
  • 原文地址:https://www.cnblogs.com/BigIdiot/p/2342707.html
Copyright © 2011-2022 走看看