Java學習

          java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

           

          JAVA 中URL鏈接中文參數亂碼的處理方法JAVA 中URL鏈接中文參數亂碼的處理方法

          JAVA 中URL鏈接中文參數亂碼的處理方法

          在url中問參數亂碼,我們已經在 "
           今天,我們找出其他的解決辦法。
                      

          方法一:

                                   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(/"http://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",確保解碼格式與編碼格式統一;

          方法四:

                      

          <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-16 16:45 找個美女做老婆 閱讀(6508) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          公告

          本blog已經搬到新家了, 新家:www.javaly.cn
           http://www.javaly.cn

          常用鏈接

          留言簿(6)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 满洲里市| 太仆寺旗| 台前县| 大洼县| 鄂温| 沙洋县| 中西区| 沂源县| 榕江县| 和硕县| 芮城县| 安溪县| 巴东县| 自治县| 澎湖县| 廊坊市| 黑龙江省| 宣恩县| 南丹县| 福鼎市| 大石桥市| 蓝田县| 蓝山县| 苍南县| 新疆| 长寿区| 姜堰市| 中卫市| 仙桃市| 永年县| 滨州市| 游戏| 乐陵市| 亚东县| 报价| 镇赉县| 舒城县| 绵阳市| 三原县| 谢通门县| 开江县|