Java-黑蝙蝠  
          My name is mozart0
          外表澀苦但留醇香于舌尖
          online
          Adult Dating
          公告
          • 多一份自信,多一份成功!
            多看一本書,多一份機遇!
            多一次微笑,多一份快樂!
          日歷
          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910
          統(tǒng)計
          • 隨筆 - 10
          • 文章 - 0
          • 評論 - 32
          • 引用 - 0

          導航

          常用鏈接

          留言簿(6)

          隨筆分類(10)

          隨筆檔案(10)

          相冊

          天氣預報

          常去論壇

          搜索

          •  

          積分與排名

          • 積分 - 38626
          • 排名 - 1191

          最新評論

          閱讀排行榜

          評論排行榜

           

          ?

          /**
          ?*?21:24?2006-10-12
          ?*?@author?blackbat?
          ?*?@title?jsp中文亂碼終極解決方法
          ?*/

          let's?go。
          一?找出問題的根源
          ???亂碼可能出現(xiàn)的地方:1?jsp頁面中?
          ???????????????????????2?jsp頁面之間相互傳參的參數(shù)
          ???????????????????????3?與數(shù)據(jù)庫中數(shù)據(jù)的存取
          ???基本歸納為以上幾種。

          二?尋找解決方案
          ???1?出現(xiàn)在jsp頁面中,是由于沒有設置jsp頁面的中文字符編碼。
          ???2?出現(xiàn)在jsp頁面之間相互傳參,是由于參數(shù)沒有設置正確的字符編碼。
          ???3?以上2個問題解決了,那么存到數(shù)據(jù)庫中,自然就不存在亂碼。除非你對存入到數(shù)據(jù)庫里的數(shù)據(jù)再次進行編碼。

          三解決方法:
          1的解決方法?
          <% @?page?contentType = " text/html;charset=gb2312 " ? %>
          加上這句解決jsp頁面中的中文亂碼顯示,tomcat編譯完后向客戶端輸出的html文件不是采

          用中文編碼,所以會導致亂碼產(chǎn)生。

          2的解決方法
          2.1?
          <% request.setCharacterEncoding( " gb2312 " ); %>
          加上這句解決jsp頁面中的中文參數(shù)傳遞亂碼。
          因為瀏覽器默認使用的編碼是“UTF-8”發(fā)送請求參數(shù)。
          我們把它改為"gb2312"就ok了。

          2.2?String(request.getParameter("name").getBytes("ISO8859_1"),"GB2312");
          這句的意思是,把傳來的參數(shù)全部編碼轉(zhuǎn)換成gb2312,這樣做的缺點是每次傳來一個參數(shù)

          都要這樣寫,很麻煩。

          同樣可通過設置server.xml配置文件來實現(xiàn)。
          < Connector
          port ="8080" ???????????????maxHttpHeaderSize ="8192"
          ???????????????maxThreads
          ="150" ?minSpareThreads ="25" ?maxSpareThreads ="75"
          ???????????????enableLookups
          ="false" ?redirectPort ="8443" ?acceptCount ="100"
          ???????????????connectionTimeout
          ="20000" ?disableUploadTimeout ="true" ? URIEncoding ="gb2312" />
          但是這樣就應用到整個webapp中去了。

          另:
          <% @page?pageEncoding = " gb2312 " %>
          此句是為了讓jsp編譯器能正確地解碼含有中文字符的jsp頁面。

          其它方法還可以修改web.xml文件,配置一個過濾器。其原理都一樣,只是換種方式而已。
          有的書上專門寫了一個函數(shù)來解決亂碼,實際上對比一下就知道那種解決方法的好與壞。
          回過頭來一看,解決亂碼也不過如此。
          ok,實際就加上這3句搞定問題。
          <% @page?pageEncoding = " gb2312 " %>
          <% @?page?contentType = " text/html;charset=gb2312 " ? %>
          <% request.setCharacterEncoding( " gb2312 " ); %>
          請大家有什么想法,以及有什么不對的地方請各位說明,寫在留言上,大家一起討論。
          posted on 2006-10-12 22:00 黑蝙蝠 閱讀(14376) 評論(7)  編輯  收藏 所屬分類: Jsp(基礎)
          評論:
          • # re: jsp中文亂碼終極解決方法  空空 Posted @ 2006-10-13 11:21
            以前我就按上面的寫了,沒有配置server.xml,一直都不行,可以寫個servlet每次都自動去轉(zhuǎn)  回復  更多評論   

          • # re: jsp中文亂碼終極解決方法[未登錄]  lansing Posted @ 2007-01-22 15:23
            刻意創(chuàng)建一個過濾器  回復  更多評論   

          • # re: jsp中文亂碼終極解決方法  Hotboy Posted @ 2007-11-25 19:42
            創(chuàng)建過濾器,在Servlet執(zhí)行之前調(diào)用該過濾器,就可以檢查每個jsp頁面的中文亂碼拉
            在Server.xml中配置
            < Connector
            port ="8080" maxHttpHeaderSize ="8192"
            maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75"
            enableLookups ="false" redirectPort ="8443" acceptCount ="100"
            connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="gb2312" />
            這樣就可以解決拉!!
            還有一個中文亂碼處理,那就是struts 中的資源文件中可能會出現(xiàn)中文亂碼,假如你要進行國際化的話!!
            我剛出道,希望能得到大家的支持! 有什么說錯了的,請各位多多指教!!
            我的油箱:p.r.c.lipo@gmail.com  回復  更多評論   

          • # re: jsp中文亂碼終極解決方法  chensong Posted @ 2008-04-27 16:39
            將瀏覽器的編碼該位UTF-8,再將所有的GB2312改為UTF-8  回復  更多評論   

          • # re: jsp中文亂碼終極解決方法  hutch25 Posted @ 2008-05-20 16:20
            寫個過濾器不就OK了么
              回復  更多評論   

          • # re: jsp中文亂碼終極解決方法  Lepoke Posted @ 2008-11-23 18:55
            呵呵。。還不錯。基本上把JSP中該轉(zhuǎn)的地方都能轉(zhuǎn)了。就是有點麻煩。。  回復  更多評論   

          • # re: jsp中文亂碼終極解決方法  coderlu Posted @ 2012-12-09 22:38
            樓主還看這個帳號的么?
            我想說,處理問題1的時候,設置pageEncoding就行了,contentType的作用比它要大些(詳情:http://blog.csdn.net/lutinghuan/article/details/8275958)。代碼如下:
            <%@ page pageEncoding="UTF-8"%>
              回復  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
           
          Copyright © 黑蝙蝠 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 宽城| 彩票| 老河口市| 常宁市| 岱山县| 涿鹿县| 闸北区| 潜江市| 新龙县| 方城县| 通河县| 宝鸡市| 无为县| 南郑县| 黑龙江省| 蒙自县| 白城市| 简阳市| 宣武区| 阿拉善左旗| 海南省| 乳源| 宝山区| 靖安县| 旺苍县| 宁河县| 张家川| 阳城县| 陈巴尔虎旗| 墨玉县| 安国市| 右玉县| 泾源县| 攀枝花市| 丰宁| 中江县| 崇明县| 治多县| 黄石市| 肃宁县| 桐柏县|