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>  回復  更多評論
            
          主站蜘蛛池模板: 瓮安县| 额敏县| 宝应县| 娄烦县| 诏安县| 彝良县| 石阡县| 曲水县| 蒙山县| 茌平县| 龙井市| 廊坊市| 台江县| 上高县| 长兴县| 隆林| 新野县| 忻州市| 通许县| 淳化县| 偏关县| 临朐县| 汝阳县| 白玉县| 三都| 云霄县| 长葛市| 德保县| 大方县| 聂拉木县| 普洱| 定兴县| 马边| 新源县| 佛坪县| 汉寿县| 醴陵市| 康平县| 西藏| 长沙市| 洪泽县|