zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0
          環境:java + oracle 10g + jdk 1.6 + Debian 4.0
          ??? 數據庫訪問,使用hibernate3.2
          想象:
          [1]oracle編碼
          select userenv('language') from dual;
          結果 :SIMPLIFIED CHINESE_CHINA.AL32UTF8?

          [2]tomcat日志輸出
          我的log4j輸出是中文,字符正常

          [3]log4j日志文件
          打開log4j日志文件,也能正常顯示中文

          [4]JSP編碼
          <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

          我的分析
          [1]如果是數據的亂碼,那么在從數據庫檢索出數據,輸出到日志的時候就應該是亂碼,但是,日志輸出正常
          [2]如果說是編碼不一致的問題,我的數據庫編碼是SIMPLIFIED CHINESE_CHINA.AL32UTF8 我的頁面是UTF-8的編碼,應該也沒有問題
          如果有問題,可能是AL32UTF8和UTF-8的編碼需要做一下處理,但是,這個我也搞不清楚。


          上面就是我的配置,但是,在從數據庫檢索出的數據,在頁面上顯示的時候,還是亂碼。不知道是什么原因,那位朋友知道,麻煩指導一二。








          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2009-02-03 11:19 zhyiwww 閱讀(2418) 評論(7)  編輯  收藏 所屬分類: j2ee

          FeedBack:
          # re: 令我頭疼的JSP亂碼問題
          2009-02-03 13:15 | eeee
          建個過濾字符串的filter.就可以搞定了。
          加到你的web.xml里。  回復  更多評論
            
          # re: 令我頭疼的JSP亂碼問題[未登錄]
          2009-02-03 14:05 | bluesky
          不知道你用的是什么應用服務器,我們用的是tomcat,在conf/server.xml的Connector節點中添加一個屬性即可,URLEncoding="GBK"即可,一般不會出現亂碼的。你可以將GBK改為系統默認的編碼即可,試試看。
            回復  更多評論
            
          # re: 令我頭疼的JSP亂碼問題[未登錄]
          2009-02-03 14:06 | bluesky
          不好意思,好像是URIEncoding="UTF-8"  回復  更多評論
            
          # re: 令我頭疼的JSP亂碼問題
          2009-02-03 14:49 | 銀河使者
          AL32UTF8和UTF8類似,只是高級的UTF-8,這不用轉換

          你先看看頁面上編碼的設置是否為UTF-8,還有就是看一下頁面的源代碼,用記事本打開,看盾能否正常顯示。從數據庫中取出的是UTF-8編碼的字符,如果頁面出現亂碼,有可能是使用了其他的編碼方式進行了解碼。還是有就是看看你的web程序是不是什么地方用了GBK處理了。在發送到客戶端之前就成亂碼了。如response.setCharacter(...),或使用其他的方法處理的。  回復  更多評論
            
          # re: 令我頭疼的JSP亂碼問題
          2009-02-03 14:50 | 銀河使者
          還有就是URLEncoding=是處理服務端接收客戶數據時的亂碼的,這與頁面顯示亂碼無關。  回復  更多評論
            
          # re: 令我頭疼的JSP亂碼問題
          2009-02-04 22:06 | NJPaul
          亂碼問題確實比較麻煩,不僅和jsp有關,和數據庫以及操作系統都有關系。上面說的修改tomcat的server.xml中的URIEncoding的方法是用來解決包含中文或日文文字的URL映射和下載文件時文件名中包含中文或日文的問題的,所以應該不是這個原因。在項目中配置一個文字Encoding的filter應該可以解決問題的,如果你的頁面什么的本身沒有問題的話。不過具體的情況也可能更復雜,等答案……  回復  更多評論
            
          # re: 令我頭疼的JSP亂碼問題[未登錄]
          2009-02-05 18:34 | wolfsquare
          設置<@pageEncoding=UTF-8>  回復  更多評論
            
          主站蜘蛛池模板: 皮山县| 吐鲁番市| 黔东| 余庆县| 安新县| 阳信县| 福泉市| 丹寨县| 稻城县| 上犹县| 什邡市| 武夷山市| 襄城县| 安庆市| 青铜峡市| 岗巴县| 泰兴市| 金塔县| 宜宾市| 金坛市| 萨嘎县| 乌审旗| 蓝田县| 阳高县| 绥宁县| 吴旗县| 泰来县| 利川市| 綦江县| 新竹县| 栾城县| 长兴县| 穆棱市| 十堰市| 阳新县| 鹤山市| 萍乡市| 阜平县| 土默特右旗| 甘洛县| 云梦县|