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

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

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

    Java學習

    java,spring,structs,hibernate,jsf,ireport,jfreechart,jasperreport,tomcat,jboss -----本博客已經搬家了,新的地址是 http://www.javaly.cn 如果有對文章有任何疑問或者有任何不懂的地方,歡迎到www.javaly.cn (Java樂園)指出,我會盡力幫助解決。一起進步

     

    解決AJAX中文亂碼問題比較好的方案解決AJAX中文亂碼問題比較好的方案

    這段時間在深圳一家公司實習,公司規定要做2個課題來考驗我們水平,遇到一個模塊只有用AJAX實現才是最完美的,這讓我我想起最初接觸AJAX時就是由于中文亂碼問題讓我放棄了使用這個技術,但是這次我沒有放棄選擇權,我不得不開啟喜愛的百度,搜索著解決方案,但是用來網上所說的好幾個方法都無法解決,所以不得不自己思考一下解決亂碼的方法。
            現在WEB系統基本上都要用到過濾流技術可是幾乎所有的公司都是用GBK編碼來過濾字符,但是AJAX是老外的技術他們用UTF-8編碼,怎么解決這個問 題呢,我想到的昨天一個double類型轉換為金錢格式顯示問題,如果在后臺處理這個問題要花費很多功夫,但是放在前臺用javascript處理就很 好,這樣既不影響后臺業務,又實現了前臺顯示格式的要求。那么AJAX編碼能不能在前臺轉換了,立刻尋找相關質料在下面列出。

    URL編碼方法有3種
    escape() ,unescape()      encodeURI(),decodeURI()       encodeURIComponent(),decodeURIComponent() 這幾種編碼所起的作用各不相同

    escape() 方法  

    采用ISO Latin字符集對指定的字符串進行編碼。所有的空格符、標點符號、特殊字符以及其他非ASCII字符都將被轉化成%xx格式的字符編碼(xx等于該字符在字符集表里面的編碼的16進制數字)。比如,空格符對應的編碼是%20。

    不會被此方法編碼的字符: @ * / +

    encodeURI() 方法:

    把URI字符串采用UTF-8編碼格式轉化成escape格式的字符串。

    不會被此方法編碼的字符:! @ # $& * ( ) = : / ; ? + ''

    encodeURIComponent() 方法:

    把URI字符串采用UTF-8編碼格式轉化成escape格式的字符串。與encodeURI()相比,這個方法將對更多的字符進行編碼,比如 / 等字符。所以如果字符串里面包含了URI的幾個部分的話,不能用這個方法來進行編碼,否則 / 字符被編碼之后URL將顯示錯誤。

    不會被此方法編碼的字符:! * ( ) ''

    因此,對于中文字符串來說,如果不希望把字符串編碼格式轉化成UTF-8格式的(比如原頁面和目標頁面的charset是一致的時候),只需 要使用escape。如果你的頁面是GB2312或者其他的編碼,而接受參數的頁面是UTF-8編碼的,就要采用encodeURI或者 encodeURIComponent。

    在后臺JAVA處理函數:

    JS是:escape()函數    
    Java是:   
    java.net.URLEncoder.encode()   
    java.net.URLDecoder.decode()  
    但是這個函數已經不推薦使用了
    現在推薦使用
    java.net.URLEncoder.encode(str,encode);
    java.net.URLDecoder.decode(str,encode);

    這樣就構成了統一的編碼格式下面舉簡單的個例子:
    在服務器端:
    String encode=java.net.URLEncoder.encode("大家好","utf-8");
    //encode=("%E5%A4%A7%E5%AE%B6%E5%A5%BD"
    String decode=java.net.URLDecoder.decode("%E5%A4%A7%E5%AE%B6%E5%A5%BD","utf-8");

    客戶端解碼Javascript:
    decodeURIComponent(xmlHttp.responseText);
    客戶端傳送時編碼:
    encodeURIComponent("大家好")

    encodeURI("大家好")
    這樣就可以解決中文亂碼編碼問題了。

    下面方一個最簡單的AJAX給大家下載:
    點擊下載

    posted on 2009-07-16 17:30 找個美女做老婆 閱讀(247) 評論(0)  編輯  收藏


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


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     

    導航

    統計

    公告

    本blog已經搬到新家了, 新家:www.javaly.cn
     http://www.javaly.cn

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 爱情岛论坛免费视频| 老子影院午夜伦不卡亚洲| 亚欧乱色国产精品免费视频| 国产美女做a免费视频软件| 亚洲Av无码一区二区二三区| 不卡精品国产_亚洲人成在线 | 久久成人国产精品免费软件| 亚洲久本草在线中文字幕| 国产精品免费高清在线观看| 亚洲一区二区中文| 日韩精品免费一级视频| 99久久婷婷国产综合亚洲| 免费观看的av毛片的网站| 国产亚洲蜜芽精品久久| 亚洲五月午夜免费在线视频| a级精品九九九大片免费看| 亚洲Aⅴ无码专区在线观看q| 免费视频爱爱太爽了| 亚洲人成人网站18禁| www国产亚洲精品久久久日本| 久久www免费人成看国产片| 久热综合在线亚洲精品| 亚洲啪啪免费视频| 国产综合激情在线亚洲第一页| 亚洲Av无码乱码在线观看性色| 中文字幕无码免费久久| jlzzjlzz亚洲jzjzjz| 国产成人无码a区在线观看视频免费| 免费无码一区二区| 亚洲AV无码一区二区乱子伦 | 狠狠入ady亚洲精品| 4338×亚洲全国最大色成网站| 免费无码毛片一区二区APP| 亚洲日韩亚洲另类激情文学| 亚洲人成电影网站国产精品| 最近最新高清免费中文字幕| 亚洲日韩AV一区二区三区中文| 国产精品亚洲二区在线观看| 日本片免费观看一区二区| 香港经典a毛片免费观看看| 亚洲av日韩av高潮潮喷无码|