網(wǎng)頁url中的中文字符的一種編碼轉(zhuǎn)化方式(圖)
2021-01-31
php的urlencode()URL編碼功能分析
更新時間:2011年8月9日12:03:10作者:
URLEncode:指網(wǎng)頁URL中漢字的編碼轉(zhuǎn)換方法。最常見的方法是在百度和Google等搜索引擎中輸入中文查詢時生成編碼的網(wǎng)頁URL。
URLEncode通常有兩種方式,一種是傳統(tǒng)的基于GB2312的編碼(由百度,Yisou等使用),另一種是基于UTF-8的編碼(由Google,Yahoo等使用)。 )。
此工具通過兩種方式實現(xiàn)編碼和解碼:
中文-> GB2312的編碼->%D6%D0%CE%C4
中文-> UTF-8編碼->%E4%B8%AD%E6%96%87
HTML中的URLEncode:
在編碼為GB2312的html文件中:Chinese.rar->瀏覽器自動轉(zhuǎn)換為->%D6%D0%CE%C4.rar
注意:Firefox不支持GB2312編碼的中文URL,因為它默認(rèn)情況下使用UTF-8發(fā)送URL,但是ftp://協(xié)議可以。我嘗試過,我認(rèn)為這應(yīng)該被視為Firefox中的錯誤。
在編碼為UTF-8的html文件中:Chinese.rar->瀏覽器自動轉(zhuǎn)換為->%E4%B8%AD%E6%96%87.rar
PHP中的URLEncode:
復(fù)制代碼,代碼如下:
除“ -_”外的所有非字母數(shù)字字符。將被替換為百分號“%”,后跟兩個十六進制數(shù)字。
urlencode和rawurlencode之間的區(qū)別:urlencode將空格編碼為加號“ +”,而rawurlencode將空格編碼為加號“%20”。
如果要使用UTF-8編碼,有兩種方法:
一、將文件另存為UTF-8文件,并直接使用urlencode和rawurlencode。
二、使用mb_convert_encoding函數(shù):
復(fù)制代碼,代碼如下:
示例:
復(fù)制代碼php url編碼轉(zhuǎn)換,代碼如下:
JavaScript中的URLEncode:
例如:%E4%B8%AD%E6%96%87 -_。%20%E4%B8%AD%E6%96%87 -_。%20
encodeURI不對以下字符進行編碼:“:”,“ /”,“;”,“?”php url編碼轉(zhuǎn)換,“ @”和其他特殊字符。
例如:%E4%B8%AD%E6%96%87.rarhttp%3A%2F %% 2F%E4%B8%AD%E6%96%87.rar