backup2007

          導(dǎo)航

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

          統(tǒng)計(jì)

          公告

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


          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          編碼問題2轉(zhuǎn)

          Jsp頁面使用URL編碼傳遞中文參數(shù)的情況下,在參數(shù)的解析過程中會(huì)出現(xiàn)亂碼。由于 java在設(shè)計(jì)的時(shí)候考慮到了國際化的問題,在java源程序編譯成字節(jié)碼的時(shí)候默認(rèn)使用的是UTF-8編碼。而在web運(yùn)用上,由于不同的瀏覽器向服務(wù) 器發(fā)送的信息采用的編碼方式不同,在由像tomcat之類的服務(wù)器解碼的時(shí)候會(huì)由于編碼方式的不同而產(chǎn)生亂碼,這是一個(gè)會(huì)困擾jsp初學(xué)者很久的問題。以 前在使用struts的時(shí)候不需要處理這些問題,前些天在做一個(gè)簡(jiǎn)單的jsp頁面的時(shí)候碰到這個(gè)問題。經(jīng)過半天的摸索,基本解決了該問題。
          例子中a.jsp頁面通過URL編碼的方式傳遞中文參數(shù),在b.jsp中對(duì)該參數(shù)進(jìn)行解析。
          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>無標(biāo)題文檔</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>無標(biāo)題文檔</title>
          </head>
           
          <body>
           
          <%
                 String str = new String(request.getParameter("test").getBytes("ISO8859_1"));
          %> 
           <BR>
           <%=str %>
          </body>
          </html>
          說明:在使用了java.net.URLEncoder.encode 編碼后,頁面獲取參數(shù)request.getParameter后需要使用ISO8859_1編碼轉(zhuǎn)換。此外,在jsp的字符集聲明中把charset=UTF-8也沒有問題

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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 清新县| 灵璧县| 山丹县| 田阳县| 石台县| 米脂县| 山西省| 肇源县| 罗田县| 元氏县| 六安市| 台前县| 新田县| 开远市| 新蔡县| 奉新县| 沛县| 绥芬河市| 新余市| 南和县| 麟游县| 都江堰市| 泾川县| 广东省| 灵寿县| 贵定县| 萍乡市| 固原市| 宜丰县| 宜君县| 凤台县| 吉隆县| 兴和县| 阳西县| 西青区| 海盐县| 封丘县| 衡山县| 南澳县| 田东县| 洞口县|