|
問(wèn)題:2個(gè)函數(shù)都是針對(duì)字符串轉(zhuǎn)義使其適合做文件名。該用哪個(gè)?哪個(gè)更標(biāo)準(zhǔn)?
結(jié)論:
rawurlencode遵守是94年國(guó)際標(biāo)準(zhǔn)備忘錄RFC 1738,
urlencode實(shí)現(xiàn)的是傳統(tǒng)做法,和上者的主要區(qū)別是對(duì)空格的轉(zhuǎn)義是'+'而不是'%20'
Javascript的encodeURL也是94年標(biāo)準(zhǔn),
而Javascript的escape是另一種用"%xxx"標(biāo)記unicode編碼的方法。
推薦在php中使用用rawurlencode。棄用urlencode
樣例
source:
超級(jí)無(wú)敵的人sadha sajdh數(shù)據(jù)樣本sdls fhejrthcxzb.file.jpeg
php urlencode:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha+sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls+fhejrthcxzb.file.jpeg
php rawurlencode:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha%20sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls%20fhejrthcxzb.file.jpeg
Javascript encodeURI:
%E8%B6%85%E7%BA%A7%E6%97%A0%E6%95%8C%E7%9A%84%E4%BA%BAsadha%20sajdh%E6%95%B0%E6%8D%AE%E6%A0%B7%E6%9C%ACsdls%20fhejrthcxzb.file.jpeg
Javascript escape:
%u8D85%u7EA7%u65E0%u654C%u7684%u4EBAsadha%20sajdh%u6570%u636E%u6837%u672Csdls%20fhejrthcxzb.file.jpeg
php技術(shù):PHP rawurlencode與urlencode函數(shù)的深入分析,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。