<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    jsp URL中文處理的幾種方式

    <%public String GBToISO(String str)       
    {try{
    byte temp[]=str.getBytes("GB2312");       
    str
    =new String(temp,"ISO-8859-1");       
    return str;       
    }catch(Exception e){return str;}}       
          
    response.sendRedirect(GBToISO(
    "errmsg.jsp?errmsg=添加客戶信息成功"));
    %>     
    超連接中profession為中文
    <href="cust_totallist.jsp?action=delete&page=<%=intCurrentPage%>&cust_id=<%=rs.getInt("id")%>&profession=<%=java.net.URLEncoder.encode(profession,"ISO-8859-1")%>">刪除</a>       
    ////////////cust_totallist.jsp中取profession值       
    String profession=java.net.URLDecoder.decode(request.getParameter("profession").trim(),"ISO-8859-1");  
    可見,URL中編碼格式為ISO-8859-1,處理中文只需將編碼格式轉換ISO-8859-1
    方法一:
    http://xxx.do?ptname='我是中國人'
    String strPtname = request.getParameter("ptname");    
    strPtname 
    = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");    
    方法二:
    <%@ page contentType="text/html;charset=gb2312" %>    
    <a href="ds.jsp?url=<%=java.net.URLEncoder.encode("編碼的是這里","GB2312")%>">點擊這里</a>    
    <%    
    //request.setCharacterEncoding("GBK");    
    if(request.getParameter("url")!=null)    
    {    
    str
    =request.getParameter("url");    
    str
    =java.net.URLDecoder.decode(str,"GB2312");    
    str
    =new String(str.getBytes("ISO-8859-1"));    
    out.print(str);    
    }
        
    %>    

    public String chinatoString(String str)    
    {    
    String s
    =str;    
    try    
    {    
    byte tempB[]=s.getBytes("ISO-8859-1");    
    s
    =new String(tempB);    
    return s;    
    }
        
    catch(Exception e)    
    {    
    return s;    
    }
        
    }
        

    function URLencode(sStr)    
    {    
    return escape(sStr).    
    replace(
    /\+/g, '%2B').    
    replace(
    /\"/g,'%22').    
    replace(/\'/g, '%27').    
    replace(/\//g,'%2F');    
    }
        

    方法三:
    如果用jstl的話,可以自己寫一個el的function,調用URLEncoder.encode來編碼。

    IE缺省對URL后面的參數是不編碼發送的,但是tomat缺省是按ISO8859-1來進行URL解碼,因此才會出現上述錯誤。好的做法是:
    1、在URL參數中確保用UTF-8編碼之,方法可以用js函數encodeURI(),或調用自定義的el function;
    2、設置server.xml中的Connector熟悉URIEncoding="UTF-8",確保解碼格式與編碼格式統一;
    方法四:
    在jsp的結尾加上:
    <script>    
    for(var i=0;i<document.links.length;i++){    
    document.links[i].href
    =encodeURI(document.links[i].href);    
    }
        
    </script>    
    在action中:

    String s=request.getParameter("s"); 
    s
    =new String(s.getBytes("iso-8859-1"),"gbk"); 


    posted on 2009-07-08 11:35 々上善若水々 閱讀(3565) 評論(0)  編輯  收藏 所屬分類: JavaWeb

    主站蜘蛛池模板: 久久亚洲精品11p| 精品女同一区二区三区免费播放| 亚洲国产日韩在线视频| 日本亚洲成高清一区二区三区 | 亚洲色一色噜一噜噜噜| 亚洲国产精品一区二区久久hs| 色多多A级毛片免费看| 国产成人免费ā片在线观看老同学| 久久久久久毛片免费看| 国产91色综合久久免费| 99久久免费精品国产72精品九九| 亚洲国产精品无码久久久久久曰| 亚洲精品免费在线| 国产AV无码专区亚洲AV麻豆丫| 男人j进入女人j内部免费网站| 久久久久国色AV免费观看性色| 7777久久亚洲中文字幕| 四虎精品成人免费视频| ZZIJZZIJ亚洲日本少妇JIZJIZ| 中文在线免费观看| 日本不卡在线观看免费v| 三上悠亚亚洲一区高清| 亚洲一区二区无码偷拍 | 大地资源在线资源免费观看| 久热综合在线亚洲精品| jzzijzzij在线观看亚洲熟妇| 免费看小12萝裸体视频国产| 久久亚洲AV成人无码电影| 免费看黄网站在线看| 成人最新午夜免费视频| 久久精品国产亚洲av麻豆色欲| 222www免费视频| 亚洲激情在线观看| 9久热这里只有精品免费| 亚洲一区综合在线播放| 69成人免费视频无码专区| 偷自拍亚洲视频在线观看99| 亚洲第一AAAAA片| 免费无码又黄又爽又刺激| www成人免费视频| 国产精品亚洲mnbav网站|