標題

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

          關于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版本就有。

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


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


          網站導航:
           
          主站蜘蛛池模板: 小金县| 汪清县| 彭山县| 祁东县| 昆山市| 湖口县| 陆丰市| 二手房| 兴化市| 汝阳县| 双流县| 民权县| 安化县| 新安县| 沛县| 汉沽区| 成安县| 镇巴县| 喜德县| 远安县| 虎林市| 广南县| 莱州市| 杂多县| 全南县| 商南县| 永嘉县| 双牌县| 高尔夫| 老河口市| 高碑店市| 成武县| 达孜县| 介休市| 茶陵县| 忻城县| 汉源县| 宜宾市| 北流市| 田林县| 广宁县|