posts - 2,  comments - 2,  trackbacks - 0
          淺談對(duì)JSP頁(yè)面?zhèn)髦抵形膩y碼的處理方法

          雖然可以但是有前提的,若果你過(guò)濾器沒(méi)有配置,則只是配置了server.xml文件,這樣只有在表單是get傳值時(shí)候才可以!當(dāng)是post方式時(shí),照樣是亂碼! 

           
          源代碼,a.jsp往b.jsp傳值: 

          a.jsp頁(yè)面內(nèi)容:

          <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
          <form action="b.jsp">
              name:<input type=text name=name>
              <input type=submit>
          </form>

          b.jsp頁(yè)面內(nèi)容:

          <%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
          <%
           String name=request.getParameter("name");
          %>
          <body>
              <%=name%>
          </body>

          現(xiàn)象:中文亂碼,比如“??????” 

          解決方法如下: 

          方法一: 

          1. 在b.jsp中把pageEncoding="GB2312"改為pageEncoding="ISO8859-1" 

          雖然這樣b.jsp頁(yè)面顯示的內(nèi)容還是亂碼,但是不是那種“??????”的亂碼,而是一些特殊字符 

          2. 然后在瀏覽器中查看菜單中修改成GB2312的編碼,這時(shí)亂碼就顯示中文了。 

          3. 但是這種方法是不可行的。 

          方法二: 

          1. 在b.jsp中把String name=request.getParameter("name");修改為 

          String name=new String(request.getParameter("name").getBytes("ISO-8859-1"),"GB2312"); 

          2. 這時(shí)再在頁(yè)面上顯示,則就是中文了。 

          方法三: 

          1. 有人說(shuō)修改get/post的傳值方式,但是這是有前提的,如果只是把get方式修改成post方式,頁(yè)面結(jié)果還是亂碼! 

          2. 前提你必須配置了過(guò)濾器,若果你只是配置了過(guò)濾器,則傳值方式必須是:post方式才不是亂碼,如果是get方式照樣是亂碼! 

          3. 過(guò)濾器的配置,我想大家都能有,我就不說(shuō)了 

          方法四: 

          1. 有人說(shuō)配置tomcat的配置文件server.xml里這句:

          <Connector URIEncoding="GB2312" 
                         port="8080" maxHttpHeaderSize="8192"
                         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                         enableLookups="false" redirectPort="8443" acceptCount="100"
                         connectionTimeout="20000" disableUploadTimeout="true" >

          加上這句:URIEncoding="GB2312" 

          2. 雖然可以但是有前提的,若果你過(guò)濾器沒(méi)有配置,則只是配置了server.xml文件,這樣只有在表單是get傳值時(shí)候才可以!當(dāng)是post方式時(shí),照樣是亂碼! 

          *這時(shí)我們就可以看出在tomcat5中的post與get傳值方式是不一樣的* 

          *有人要問(wèn)有沒(méi)有一種方法讓傳值使用get方式或post方式都好用呢,下面就是我推薦的方法五* 

          方法五: 

          1. 其實(shí)很簡(jiǎn)單,實(shí)現(xiàn)方法三又實(shí)現(xiàn)方法四! 

          2. 就是先配置過(guò)濾器,又配置server.xml文件,都設(shè)置成GB2312的編碼 

          3. 這樣無(wú)論是post還是get方式的表單傳值,中文都不會(huì)是亂碼! 

           



            想飛到 那最高最遠(yuǎn)最灑脫
          posted on 2007-11-28 22:45 fighting 閱讀(325) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 江源县| 林口县| 瑞安市| 桦南县| 电白县| 余姚市| 阿拉尔市| 禹州市| 睢宁县| 岳阳市| 乌鲁木齐县| 和政县| 鄂托克旗| 海林市| 高唐县| 文山县| 新和县| 昌平区| 宁武县| 新竹市| 盖州市| 东辽县| 阿拉善盟| 卢湾区| 中超| 富平县| 桂平市| 庆城县| 灵璧县| 凤城市| 民乐县| 玉林市| 安平县| 南雄市| 榆树市| 武平县| 泸定县| 达孜县| 闻喜县| 桐乡市| 汉寿县|