backup2007

          導航

          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統計

          公告

          @import url(http://www.aygfsteel.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);


          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          編碼問題2轉

          Jsp頁面使用URL編碼傳遞中文參數的情況下,在參數的解析過程中會出現亂碼。由于 java在設計的時候考慮到了國際化的問題,在java源程序編譯成字節碼的時候默認使用的是UTF-8編碼。而在web運用上,由于不同的瀏覽器向服務 器發送的信息采用的編碼方式不同,在由像tomcat之類的服務器解碼的時候會由于編碼方式的不同而產生亂碼,這是一個會困擾jsp初學者很久的問題。以 前在使用struts的時候不需要處理這些問題,前些天在做一個簡單的jsp頁面的時候碰到這個問題。經過半天的摸索,基本解決了該問題。
          例子中a.jsp頁面通過URL編碼的方式傳遞中文參數,在b.jsp中對該參數進行解析。
          a.jsp源代碼
          <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          <title>無標題文檔</title>
          </head>
           
          <body>
          <% 
                 String str_test = "華工";
          %>
          <form method=post action="b.jsp?test=<%=java.net.URLEncoder.encode(str_test) %>"> 
                   <input type="submit" value="Submit" name="提交">  
           </form>
           
          </body>
          </html>
           
          b.jsp源代碼
          <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          <title>無標題文檔</title>
          </head>
           
          <body>
           
          <%
                 String str = new String(request.getParameter("test").getBytes("ISO8859_1"));
          %> 
           <BR>
           <%=str %>
          </body>
          </html>
          說明:在使用了java.net.URLEncoder.encode 編碼后,頁面獲取參數request.getParameter后需要使用ISO8859_1編碼轉換。此外,在jsp的字符集聲明中把charset=UTF-8也沒有問題

          posted on 2008-01-17 14:30 backup2007 閱讀(223) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 双峰县| 利辛县| 鹤岗市| 仁布县| 盖州市| 宕昌县| 乐安县| 隆德县| 天全县| 克东县| 汨罗市| 黔西县| 昆山市| 泸溪县| 茂名市| 班戈县| 抚顺市| 石楼县| 西乌珠穆沁旗| 垫江县| 巴里| 通道| 吴忠市| 皮山县| 巴南区| 六枝特区| 红原县| 增城市| 南京市| 定州市| 大化| 通许县| 承德县| 绵阳市| 依兰县| 壤塘县| 山西省| 夏邑县| 雅江县| 高淳县| 钟祥市|