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

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

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

    隨筆-200  評論-148  文章-15  trackbacks-0
    我以前遇到這類問題的時候?qū)懙?你可以參考一下:
    一.中文亂碼產(chǎn)生的原因
    a)亂碼有很多種,這里所說的是指web傳入的亂碼,即由瀏覽器傳輸數(shù)據(jù)到服務(wù)器發(fā)生的亂碼。

    b)常用的web傳輸方法有 post 和 get 2種,下面分別說明:
    i.? ? ? ? Post – 由于采用了特殊的加密,所以只要設(shè)置正確的Character Encoding即可,不會產(chǎn)生亂碼
    ii.? ? ? ? Get - 用此類方法傳輸?shù)臄?shù)據(jù)將以字符串的形式直接放在url后面,所以采用的是url 的encode,這種情況不僅會出現(xiàn)中文亂碼,而且假如參數(shù)里面帶有保留字符也將被轉(zhuǎn)義,特別地,如果參數(shù)中帶有&字符,將丟失后面的所有參數(shù)或 者值


    二.解決辦法
    解決中文亂碼(應(yīng)該說是數(shù)據(jù)傳輸問題),主要應(yīng)該從用法上解決。上面說了post方法只要設(shè)置了正確的Character Encoding,是不會產(chǎn)生亂碼的,所以應(yīng)盡量采用post方法來傳輸數(shù)據(jù);但是有時候采用get方法是比較方便的,或者是必須的,所以下面也分別介紹 2種的對應(yīng)解決方案:
    a)? ? ? ? Post – 在web.xml設(shè)置filter,filter-class指定為平臺的SetCharacterEncodingFilter類,encoding設(shè)置為頁面使用的編碼,示例:
    <filter>
    ? ? ? ? <filter-name>Set Character Encoding</filter-name>
    ? ? ? ? <filter-class>
    ? ? ? ? ? ? ? ? //自己實現(xiàn)一個filter。。
    ? ? ? ? </filter-class>
    ? ? ? ? <init-param>
    ? ? ? ? ? ? ? ? <param-name>encoding</param-name>
    ? ? ? ? ? ? ? ? <param-value>UTF-8</param-value>
    ? ? ? ? </init-param>
    </filter>
    <filter-mapping>
    ? ? ? ? <filter-name>Set Character Encoding</filter-name>
    ? ? ? ? <url-pattern>/*</url-pattern>
    </filter-mapping>


    b)? ? ? ? Get – 解決的關(guān)鍵在于在傳輸之前調(diào)用url encoder對參數(shù)進行加密,采用的encoding應(yīng)與服務(wù)器的encoding一致,這樣接收到數(shù)據(jù)的時候可以不做任何的轉(zhuǎn)碼??捎蒵ava和javascript2種辦法實現(xiàn):
    i.? ? ? ? Java 實現(xiàn)方法(推薦)
    1.? ? ? ? 條件 - 如果要傳輸?shù)臄?shù)據(jù)是要先經(jīng)過javabean生成,然后write 到頁面上的,可以采用這種方式。以下略,用java.net.URLEncoder.encode();


    ii.? ? ? ? Javascript 實現(xiàn)方法
    如果需要從頁面獲取輸入,則可以采用這種方式,但是這種情況又可以考慮是否可以轉(zhuǎn)換為post方法來傳輸。
    ? ?? ?? ?? ?下面是javascript的encode函數(shù):
    1.? ? ? ? escape - 采用ISO Latin字符集對指定的字符串進行編碼。不會被此方法編碼的字符: @ * / +

    2.? ? ? ? encodeURI - 把URI字符串采用UTF-8編碼格式轉(zhuǎn)化成escape格式的字符串不會被此方法編碼的字符:! @ # $& * ( ) = : / ; ? + '

    3.? ? ? ? encodeURIComponent - 把URI字符串采用UTF-8編碼格式轉(zhuǎn)化成escape格式的字符串。不會被此方法編碼的字符:! * ( ) '

    posted on 2008-07-11 15:12 無聲 閱讀(458) 評論(0)  編輯  收藏 所屬分類: 職場生活
    主站蜘蛛池模板: 亚洲国产精品久久久久婷婷软件| 亚洲av午夜国产精品无码中文字 | 亚洲三级高清免费| 国产成人AV免费观看| 黄页网站在线视频免费| 亚洲精品无码少妇30P| 亚洲性猛交xx乱| 亚洲网址在线观看| 亚洲AV无码国产丝袜在线观看| 国产精品亚洲αv天堂无码| 免费一级毛片不卡不收费| 成人黄动漫画免费网站视频 | 一级成人a做片免费| 国产亚洲视频在线观看| 精品亚洲福利一区二区| 亚洲成av人在线观看网站 | 国产91成人精品亚洲精品| 国产成人综合亚洲一区| 国产亚洲精品美女| 一区免费在线观看| 国产午夜免费高清久久影院| 久久精品视频免费播放| 亚洲成年人免费网站| 国产麻豆免费观看91| 亚洲精品成人久久久| 亚洲国产精品无码久久一区二区| 久久综合日韩亚洲精品色| 亚洲成人福利在线观看| 亚洲最大天堂无码精品区| 免费一区二区无码视频在线播放| 9久热这里只有精品免费| **aaaaa毛片免费同男同女| 成人毛片18岁女人毛片免费看| 免费人成激情视频| 亚洲激情中文字幕| 亚洲日韩看片无码电影| 久久久久久久久久久免费精品| 在线观看免费中文视频| 精品久久久久久久免费人妻| 亚洲区小说区图片区QVOD| 亚洲日韩国产欧美一区二区三区|