posts - 64,  comments - 9,  trackbacks - 0

          jsp代碼中,使用到了java.net.URLEncoder.encode()對要傳遞的中文進行編碼。可是接收到的字符串卻是亂碼。最令人抓狂的就是這段代碼在有的機器上運行正常,可是在某些機器上死活也不能正常運行。因為對jsp和網頁都不是很熟所以查了很久才發現原因。

          最后發現是這段代碼沒有規范的使用java.net.URLEncoder,雖然使用了java.net.URLEncoder.encode()對要傳遞的中文進行編碼,可是接收頁面接收時沒有使用java.net.URLEncoder.decode()進行解碼。導致在有的機器上運行正常,而有的就出錯。

           

          下面貼一下解決這個問題參考的文章:

          使用java.net.URLEncoder.encode()可以對要傳遞的中文進行編碼

          a.在傳參數之前先把參數進行轉碼:java.net.URLEncoder.encode(param);
          取值時用語句java.net.URLDecoder.decode(param);再轉回中文
          b.在你的Tomcat目錄-->conf目錄-->server.xml里找出這段:
                 <Connector
                   port="8080"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                         enableLookups="false" redirectPort="8443" acceptCount="100"
                         debug="0" connectionTimeout="20000"
                         disableUploadTimeout="true"
          <!--在里邊加上這個參數-->
          URIEncoding="gb2312"
               />

           例如:
          <%@ page contentType="text/html;charset=gb2312" %>

          <a href="ds.jsp?url=<%=java.net.URLEncoder.encode("編碼的是這里","GB2312")%>">點擊這里</a>


          <%
          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);
          }

          %>

          若,字符編碼為utf-8也可以實現.或者在此段代碼中,不寫出字符編碼也可以(只寫一個參數)。

          posted on 2010-03-23 10:41 super_nini 閱讀(16152) 評論(0)  編輯  收藏

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


          網站導航:
           
          <2010年3月>
          28123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿

          隨筆檔案

          文章檔案

          相冊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 苏尼特右旗| 师宗县| 佛学| 教育| 驻马店市| 金坛市| 金沙县| 河津市| 临邑县| 曲周县| 静乐县| 南岸区| 永平县| 金阳县| 毕节市| 衡阳县| 陆丰市| 景洪市| 怀化市| 福州市| 巴林左旗| 棋牌| 都匀市| 云和县| 镇沅| 雅安市| 团风县| 巩义市| 明星| 垦利县| 古浪县| 龙陵县| 乐亭县| 宁都县| 双桥区| 拜城县| 房山区| 长岭县| 当涂县| 射阳县| 渝北区|