posts - 2,  comments - 2,  trackbacks - 0
          淺談對JSP頁面傳值中文亂碼的處理方法

          雖然可以但是有前提的,若果你過濾器沒有配置,則只是配置了server.xml文件,這樣只有在表單是get傳值時候才可以!當是post方式時,照樣是亂碼! 

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

          a.jsp頁面內容:

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

          b.jsp頁面內容:

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

          現象:中文亂碼,比如“??????” 

          解決方法如下: 

          方法一: 

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

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

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

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

          方法二: 

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

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

          2. 這時再在頁面上顯示,則就是中文了。 

          方法三: 

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

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

          3. 過濾器的配置,我想大家都能有,我就不說了 

          方法四: 

          1. 有人說配置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. 雖然可以但是有前提的,若果你過濾器沒有配置,則只是配置了server.xml文件,這樣只有在表單是get傳值時候才可以!當是post方式時,照樣是亂碼! 

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

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

          方法五: 

          1. 其實很簡單,實現方法三又實現方法四! 

          2. 就是先配置過濾器,又配置server.xml文件,都設置成GB2312的編碼 

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

           



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

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


          網站導航:
           
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 周口市| 福鼎市| 资源县| 安徽省| 建宁县| 长岛县| 抚宁县| 利川市| 丰城市| 子洲县| 松阳县| 郁南县| 镇安县| 金秀| 河北省| 沁源县| 延寿县| 垦利县| 于都县| 清新县| 张家界市| 容城县| 霍林郭勒市| 彭州市| 施秉县| 雷州市| 建昌县| 乌鲁木齐县| SHOW| 兴义市| 湖州市| 仲巴县| 岳西县| 和硕县| 那坡县| 湾仔区| 泽州县| 岑溪市| 策勒县| 白玉县| 贡嘎县|