本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0

          由于操作系統、瀏覽器、數據庫、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"

          posted on 2006-12-21 10:22 有貓相伴的日子 閱讀(10912) 評論(2)  編輯  收藏 所屬分類: j2ee

          評論:
          # re: weblogic中文亂碼問題 2007-07-31 15:18 | lizhy
          我這bea目錄下搜索出了四十幾個weblogic.xml文件,不知道具體應該修改哪一個,還是都要修改,請明示  回復  更多評論
            
          # re: weblogic中文亂碼問題 2007-08-10 10:36 | 有貓相伴的日子
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 新晃| 灵寿县| 应城市| 岳池县| 芜湖县| 阜城县| 平昌县| 洛浦县| 苏州市| 沙洋县| 泾川县| 轮台县| 定州市| 棋牌| 绥化市| 丹东市| 香河县| 深泽县| 潼关县| 钦州市| 大余县| 司法| 瑞丽市| 上犹县| 昂仁县| 临邑县| 镇平县| 阿尔山市| 平陆县| 彭山县| 东至县| 揭西县| 朔州市| 崇州市| 丰原市| 溧水县| 平阴县| 临沭县| 柘城县| 井冈山市| 陆川县|