<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

    關(guān)于J2EE中的亂碼解決

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

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

    首先,我們知道產(chǎn)生亂碼的原因是因?yàn)椴煌木幋a造成的,這就好比你和一個(gè)印地安人在說話,假設(shè)你完全不懂印第安語,而對(duì)方也不懂漢語,那你們所說的話,就會(huì)在對(duì)方的腦子里產(chǎn)生一個(gè)個(gè)的問號(hào)。那么怎么辦呢?通常的做法,就是找一個(gè)翻譯,在Java中,對(duì)編碼也是這樣的,來看一個(gè)例子
    方法一:

    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>
    這是一個(gè)簡(jiǎn)單的提交頁面Deom01.html

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

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

    輸入內(nèi)容為:??
          
           當(dāng)我們?cè)陧撁鍰eom01中輸入中文并提交好,發(fā)現(xiàn)提交后的顯示內(nèi)容為“?”號(hào),這里,就相當(dāng)于上面的不同語種的人說話一樣,產(chǎn)生了“?”號(hào),那么解決的辦法,就是通過轉(zhuǎn)換來解決這一問題:

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

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


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

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

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

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

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


    更改后運(yùn)行,發(fā)現(xiàn)結(jié)果和以前的一樣。

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


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

    Feedback

    # re: 關(guān)于J2EE中的亂碼解決  回復(fù)  更多評(píng)論   

    2008-07-31 03:12 by 深圳旅游資訊網(wǎng)
    謝謝

    # re: 關(guān)于J2EE中的亂碼解決  回復(fù)  更多評(píng)論   

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费女人18毛片a级毛片视频| 久久久久久免费视频| 亚洲福利秒拍一区二区| 国产免费拔擦拔擦8X高清在线人| 亚洲中文字幕无码专区| xxxxx做受大片在线观看免费| 国产亚洲精品激情都市| a级毛片视频免费观看| 久久久久久a亚洲欧洲AV| 91精品导航在线网址免费| 1区1区3区4区产品亚洲| 国产成人福利免费视频| 亚洲国色天香视频| 日韩激情无码免费毛片| 一级毛片a免费播放王色电影| jlzzjlzz亚洲乱熟在线播放| 国偷自产一区二区免费视频| 亚洲黄色网址大全| 妞干网免费视频观看| 免费无码专区毛片高潮喷水| 久久亚洲中文字幕精品一区| 国产好大好硬好爽免费不卡| 久久精品国产亚洲AV忘忧草18| 免费观看的a级毛片的网站| 羞羞漫画小舞被黄漫免费| 亚洲欧洲国产精品香蕉网| 18国产精品白浆在线观看免费| 美景之屋4在线未删减免费| 亚洲AV无码国产在丝袜线观看| 黄瓜视频影院在线观看免费| 日本亚洲欧美色视频在线播放| 亚洲精品无码成人AAA片| 和日本免费不卡在线v| 一级毛片免费播放视频| 亚洲精品成人图区| 国产免费拔擦拔擦8x| 污污网站免费观看| 国产成人综合亚洲| 亚洲综合综合在线| 亚洲国产香蕉人人爽成AV片久久| 亚洲毛片免费观看|