標題

          子標題
          posts - 2, comments - 0, trackbacks - 0, articles - 0

          導航

          <2008年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          關于web中特殊字符的問題

          Posted on 2008-11-07 14:36 顯示名稱 閱讀(569) 評論(0)  編輯  收藏

          前幾天遇到特殊字符的問題,用Javascript拼接語句的時候由于字段中有單或雙引號產生錯誤,在網上查的

          javascript中存在幾種對URL字符串進行編碼的方法:escape(),encodeURI(),以及encodeURIComponent()。這幾種編碼所起的作用各不相同。 

          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。

          另外,encodeURI/encodeURIComponent是在javascript1.5之后引進的,escape則在javascript1.0版本就有。

          以后有特殊字符的問題再加


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


          網站導航:
           
          主站蜘蛛池模板: 鱼台县| 搜索| 池州市| 英山县| 博乐市| 广河县| 康乐县| 乐清市| 女性| 贵州省| 星座| 噶尔县| 朝阳市| 马公市| 临清市| 报价| 河西区| 波密县| 从江县| 荃湾区| 托里县| 额济纳旗| 敖汉旗| 安溪县| 阿荣旗| 民和| 岳普湖县| 邳州市| 图片| 民乐县| 铜梁县| 方正县| 大姚县| 南乐县| 乐东| 泸定县| 五大连池市| 通道| 宜都市| 巴马| 博兴县|