<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)航:
     
    主站蜘蛛池模板: 日韩一级视频免费观看| 中文字幕免费在线看| www.亚洲成在线| 亚洲一级毛片在线观| 亚洲一级在线观看| 亚洲性线免费观看视频成熟| 亚洲乱码一二三四区国产| 亚洲神级电影国语版| 亚洲人成网站在线观看播放青青| 亚洲国产精品网站久久| 亚洲免费在线视频播放| 亚洲欧美综合精品成人导航| 日本亚洲中午字幕乱码| 五月天婷婷免费视频| 日韩免费高清播放器| 99久久精品国产免费| 69成人免费视频| 午夜爱爱免费视频| 亚洲A丁香五香天堂网| 中文亚洲AV片不卡在线观看| 亚洲av永久无码精品秋霞电影影院 | 亚洲午夜无码毛片av久久京东热| 亚洲熟妇成人精品一区| 豆国产96在线|亚洲| 久久国产乱子伦精品免费午夜 | 亚洲国产成人99精品激情在线| 亚洲人成网站免费播放| 日日狠狠久久偷偷色综合免费| 91免费福利视频| 最近中文字幕完整版免费高清| 毛片免费观看的视频| 免费大黄网站在线观看| 狠狠色伊人亚洲综合成人| 亚洲午夜精品一区二区| 香蕉大伊亚洲人在线观看| 国产亚洲美女精品久久| 久草免费福利视频| 欧美a级在线现免费观看| 亚洲国产成人久久一区久久| 亚洲欧洲免费视频| 亚洲国产成人综合精品|