<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    天若有情

    到教堂懺悔,愿主安撫我罪惡的心靈......
    posts - 4, comments - 35, trackbacks - 0, articles - 24

    關于J2EE中的亂碼解決

    Posted on 2008-07-31 01:13 freedoom 閱讀(1795) 評論(2)  編輯  收藏

    在J2EE中,亂碼問題是一個令人頭痛的問題,本文就J2EE中的亂碼做一個小結,以求拋磚引玉。

    首先,我們知道產生亂碼的原因是因為不同的編碼造成的,這就好比你和一個印地安人在說話,假設你完全不懂印第安語,而對方也不懂漢語,那你們所說的話,就會在對方的腦子里產生一個個的問號。那么怎么辦呢?通常的做法,就是找一個翻譯,在Java中,對編碼也是這樣的,來看一個例子
    方法一:

    1<html>
    2<body>
    3    <form action="demo02.jsp" method="post">
    4        用戶名:<input type="text" name="uname">
    5            <input type="submit" value="go">
    6    </form>
    7</body>
    8</html>
    這是一個簡單的提交頁面Deom01.html

    <%@page contentType="text/html;charset=gbk" %>
    <html>
    <body>

    <h1>輸入內容為:<%=request.getParameter("uname")%></h1>
    </body>
    </html>
         
    以上是一個對Deom01.html進行處理的JSP頁面,其作用是為了取出Demo01的Uname值并顯示,

    輸入內容為:??
          
           當我們在頁面Deom01中輸入中文并提交好,發現提交后的顯示內容為“?”號,這里,就相當于上面的不同語種的人說話一樣,產生了“?”號,那么解決的辦法,就是通過轉換來解決這一問題:

    <%@page contentType="text/html;charset=gbk" %>
    <html>
    <body>
    <% 
        
    /*String name=request.getParmaeter("uname");//取得uname的值
        byte[] b=name.getBytes("ISO8859-1");//將取得的值轉換為Byte數組
        name=new String(b);//將Byte數組重新轉換為所需要的格式
        
    */

        String  name
    =new String(request.getParameter("uname").getBytes("ISO8859-1"));//這里等同于上面
    %>
    <h1>輸入內容為:<%=uname%></h1>
    <%-- <h1>輸入內容為:<%=request.getParameter("uname")%></h1> --%>
    </body>
    </html>


    以上通過將取得的uname值轉換為Byte數組,再將Byte數組轉換為所需要的格式來進行轉換,從而解決了亂碼問題。

    方法二:
    設置統一的字符編碼
    在API中的Javax.servlet.http包下,有一個HttpServletRequest接口中,有這樣一個方法
    public void setCharacterEncoding(String env)
                     
    throws
     UnsupportedEncoding

    其作用是設置統一的字符編碼
    <%@page contentType="text/html;charset=gbk" %>
    <html>
    <body>
    <% 
        
    /*String name=request.getParmaeter("uname");//取得uname的值
        byte[] b=name.getBytes("ISO8859-1");//將取得的值轉換為Byte數組
        name=new String(b);//將Byte數組重新轉換為所需要的格式
        
    */

        
    //String  name=new String(request.getParameter("uname").getBytes("ISO8859-1"));//這里等同于上面
        request.setCharacterEncoding("GBK");
        String name=request.getParameter("uname");
    %>

    <h1>輸入內容為:<%=name%></h1>
    <%-- <h1>輸入內容為:<%=request.getParameter("uname")%></h1> --%>
    </body>
    </html>


    更改后運行,發現結果和以前的一樣。

    (注:GBK的范圍大于GB2312 ,GB2312僅指簡體中文,而GBK不僅指簡體中文,還包含了繁體中文等中文。)


    以上內容參考李興華老師教程編寫,并引用了其列程,在此感謝李興華老師制作的視頻,給了我很大幫助(本人無意作廣告,此舉真誠感謝李興華老師的視頻,另外,也向初學JAVA的朋友推薦他的視頻,還有那些準備上JAVA培訓班的同學,希望你們在上培訓班之前好好看看李老師的教程,本人是在一家知名培訓機構里接受過培訓的。)

    Feedback

    # re: 關于J2EE中的亂碼解決  回復  更多評論   

    2008-07-31 03:12 by 深圳旅游資訊網
    謝謝

    # re: 關于J2EE中的亂碼解決  回復  更多評論   

    2008-08-01 02:04 by 酒店咨詢
    謝謝,

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


    網站導航:
     
    主站蜘蛛池模板: 国产伦精品一区二区三区免费迷 | 亚洲国产三级在线观看| 日韩亚洲人成在线综合| 日本成人免费在线| 亚洲人av高清无码| 国产亚洲色婷婷久久99精品91| 亚洲精品无AMM毛片| 日韩免费观看的一级毛片| 日日摸日日碰夜夜爽亚洲| 内射无码专区久久亚洲| xxxxx做受大片视频免费| 国产精品亚洲精品日韩已方| baoyu777永久免费视频| 久久WWW免费人成人片| 亚洲一级特黄特黄的大片| 免费爱爱的视频太爽了| 白白色免费在线视频| 在线观看免费av网站| 亚洲国产精品成人综合色在线婷婷| 免费观看激色视频网站bd| 亚洲日韩国产一区二区三区在线| 日本免费无遮挡吸乳视频电影| 国产亚洲男人的天堂在线观看| 亚洲一级片内射网站在线观看| 99在线视频免费观看| 精品亚洲成AV人在线观看| 无码少妇一区二区浪潮免费| 国产精品国产亚洲区艳妇糸列短篇| 亚洲国产婷婷综合在线精品| a级片免费在线观看| 亚洲国产精品一区二区久| 日本人成在线视频免费播放| 亚洲国产精品综合久久网各| 日韩亚洲国产二区| 69视频在线观看高清免费| 狼色精品人妻在线视频免费| 久久夜色精品国产嚕嚕亚洲av| 亚洲熟女乱色一区二区三区| 亚洲国产精品一区二区第一页免 | 亚洲日韩中文字幕无码一区| 国产精品亚洲视频|