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"));

          請問這樣可以嗎?

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


          網站導航:
           
          主站蜘蛛池模板: 绥芬河市| 兴和县| 梁平县| 木里| 三原县| 台前县| 巴南区| 贡觉县| 渭源县| 新绛县| 顺平县| 嘉荫县| 乌兰浩特市| 高阳县| 溧阳市| 房产| 桂平市| 招远市| 健康| 株洲市| 新巴尔虎右旗| 邢台市| 沂源县| 台中市| 西充县| 交口县| 辰溪县| 嘉峪关市| 沈丘县| 广南县| 望都县| 交口县| 利津县| 当雄县| 疏勒县| 雷山县| 冕宁县| 横山县| 康马县| 孝感市| 嫩江县|