backup2007

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統計

          公告

          @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 閱讀(221) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 盐源县| 沅陵县| 新营市| 高安市| 西充县| 万源市| 全州县| 金坛市| 吉木乃县| 晋中市| 昭平县| 静海县| 卫辉市| 滕州市| 凤山县| 宁德市| 广丰县| 乳山市| 永州市| 屯昌县| 临泉县| 无为县| 铁力市| 裕民县| 垫江县| 清涧县| 大足县| 东至县| 亚东县| 嘉兴市| SHOW| 驻马店市| 本溪市| 布拖县| 怀来县| 天门市| 库尔勒市| 塔河县| 义乌市| 临泉县| 德州市|