Ytl's Java Blog

          厚積而薄發---每一天都是一個全新的開始
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          JSP中亂碼解決方案

          Posted on 2008-05-08 16:54 ytl 閱讀(1177) 評論(3)  編輯  收藏

          個人在項目開發中總結的。供大家參考

          1.頁面顯示中文時出現的亂碼,通常使用

          1 <%@ page contentType="text/html;charset=gb2312"%>

           

          可以達到處理亂碼的效果

          2.從請求中獲得數據是出現的中文亂碼處理方法有
          (1) get請求有兩種處理方法
          方法1:
          在tomcat的配置文件(conf)中的server.xml的

          1  <Connector port="8080" protocol="HTTP/1.1" 
          2                connectionTimeout="20000" 
          3                redirectPort="8443" 
          4                URIEncoding="gb2312"/>


          加入上面第4行代碼即可。
          方法2:也就是通常說的再編碼的說法,

          1<%
          2   String name=request.getParameter("name");
          3   byte []b = name.getBytes("GB2312");
          4   name=new String(b);
          5%>
          6也可簡化為:
          7<%=new String(request.getParameter().getBytes("GB2312"))
          8%>


          (2)post請求
          在jsp頁面中加入也下代碼

          1<%request.setCharacterEncoding("gb2312");%>

          需要注意的是這部分代碼要放寫在獲得請求內容以前。

          3.以上就是JSP頁面中出現亂碼的方法,最后我想說的就是如何確定發送的
            請求是GET 還是POST。
          (1)一般表單(Form)提交中有method方法確定。
          (2)通過URL鏈接傳遞為GET方法提交
          (3)通過地址重寫的為GET方法提交

          謝謝閱讀


          評論

          # re: JSP中亂碼解決方案  回復  更多評論   

          2008-05-08 17:10 by BeanSoft
          好!

          # re: JSP中亂碼解決方案  回復  更多評論   

          2008-05-28 15:44 by 懶人
          我們用charset=gbK

          # re: JSP中亂碼解決方案  回復  更多評論   

          2009-07-02 00:08 by 何靜
          講的好!

          String name=new String(request.getParameter("name").getBytes("iso-8858-1"));

          請問這樣可以嗎?

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


          網站導航:
           
          主站蜘蛛池模板: 梁平县| 新昌县| 丰城市| 仙桃市| 泗洪县| 佛山市| 九寨沟县| 绥芬河市| 江西省| 贺州市| 浦县| 岚皋县| 略阳县| 自贡市| 威远县| 贺州市| 梅河口市| 海兴县| 庆安县| 镇宁| 义马市| 巴中市| 德化县| 鄂托克旗| 雷波县| 湘乡市| 乌兰察布市| 韶关市| 宜兰市| 崇仁县| 安顺市| 班玛县| 遂平县| 奉节县| 共和县| 明星| 承德市| 印江| 洪洞县| 长阳| 称多县|