Java-黑蝙蝠  
          My name is mozart0
          外表澀苦但留醇香于舌尖
          online
          Adult Dating
          公告
          • 多一份自信,多一份成功!
            多看一本書,多一份機(jī)遇!
            多一次微笑,多一份快樂!
          日歷
          <2012年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345
          統(tǒng)計
          • 隨筆 - 10
          • 文章 - 0
          • 評論 - 32
          • 引用 - 0

          導(dǎo)航

          常用鏈接

          留言簿(6)

          隨筆分類(10)

          隨筆檔案(10)

          相冊

          天氣預(yù)報

          常去論壇

          搜索

          •  

          積分與排名

          • 積分 - 38637
          • 排名 - 1192

          最新評論

          閱讀排行榜

          評論排行榜

           

          ?

          /**
          ?*?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頁面中,是由于沒有設(shè)置jsp頁面的中文字符編碼。
          ???2?出現(xiàn)在jsp頁面之間相互傳參,是由于參數(shù)沒有設(shè)置正確的字符編碼。
          ???3?以上2個問題解決了,那么存到數(shù)據(jù)庫中,自然就不存在亂碼。除非你對存入到數(shù)據(jù)庫里的數(shù)據(jù)再次進(jìn)行編碼。

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

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

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

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

          都要這樣寫,很麻煩。

          同樣可通過設(shè)置server.xml配置文件來實(shí)現(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" />
          但是這樣就應(yīng)用到整個webapp中去了。

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

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

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

          • # 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)中文亂碼,假如你要進(jìn)行國際化的話!!
            我剛出道,希望能得到大家的支持! 有什么說錯了的,請各位多多指教!!
            我的油箱:p.r.c.lipo@gmail.com  回復(fù)  更多評論   

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

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

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

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


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


          網(wǎng)站導(dǎo)航:
           
           
          Copyright © 黑蝙蝠 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 姜堰市| 大兴区| 汕尾市| 新营市| 阜阳市| 佛学| 平潭县| 仁怀市| 射洪县| 台南市| 河津市| 屯留县| 金堂县| 江门市| 赫章县| 玛沁县| 分宜县| 延吉市| 沁水县| 宁南县| 固始县| 巴林右旗| 莫力| 仙桃市| 东乌| 武城县| 新源县| 通化市| 宾阳县| 天柱县| 昌平区| 长治县| 凤山县| 双柏县| 黎城县| 保德县| 昌江| 哈巴河县| 搜索| 龙里县| 云阳县|