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

          請問這樣可以嗎?

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


          網站導航:
           
          主站蜘蛛池模板: 长寿区| 平遥县| 山丹县| 五原县| 叶城县| 安龙县| 屯留县| 上思县| 奇台县| 辉南县| 南昌县| 西林县| 保山市| 察哈| 黄浦区| 东光县| 长乐市| 依安县| 体育| 黑龙江省| 定兴县| 武功县| 宝鸡市| 自治县| 汝城县| 德安县| 盘锦市| 哈巴河县| 新巴尔虎左旗| 西乡县| 阳新县| 称多县| 河南省| 林甸县| 新丰县| 澄城县| 门源| 榆社县| 锡林郭勒盟| 丹凤县| 固原市|