PHP中文URL編解碼詳細說明

urldecode() 和 rawurldecode() 解碼出的字符串是 UTF-8格式的編碼,如果URL中含有中文的話,而頁面設置又不是 UTF-8 的話,則要把解碼出的字符串進行轉換,才能正常顯示


$a ='?a=中文';
php教程中文url編解碼詳細說明
在php中urlencode和rawurlencode 是對中文進行編碼的
string urlencode ( string str) 
返回字符串,此字符串中除了 -_. 之外的所有非字母數字字符都將被替換成百分號(%)後跟兩位十六進制數。這是在 rfc 1738 中描述的編碼,是爲了保護原義字符以免其被解釋爲特殊的 url 定界符,同時保護 url 格式以免其被傳輸媒體(像一些郵件系統)使用字符轉換時弄亂

*/

$urlencode =urlencode($a);
echo $urlencode; //%3fa%3d%d6%d0%ce%c4


/*
string rawurldecode ( string str) 
返回字符串,此字符串中百分號(%)後跟兩位十六進制數的序列都將被替換成原義字符。
*/

$c = rawurlencode($urlencode);///a%253d%25d6%25d0%25ce%25c4;
echo $c;


/*

有一點需要注意的地方是,urldecode() 和 rawurldecode() 解碼出的字符串是 utf-8格式的編碼,如果url中含有中文的話,而頁面設置又不是 utf-8 的話,則要把解碼出的字符串進行轉換,才能正常顯示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章