,urldecode() 和 rawurldecode() 解碼出的字符串是 UTF-8格式的編碼,如果URL中含有中文的話,而頁面設置又不是 UTF-8 的話,則要把解碼出的字符串進行轉換,才能正常顯示
php教程中文url編解碼詳細說明
在php中urlencode和rawurlencode 是對中文進行編碼的
string urlencode ( string str)
返回字符串,此字符串中除了 -_. 之外的所有非字母數字字符都將被替換成百分號(%)後跟兩位十六進制數。這是在 rfc 1738 中描述的編碼,是為了保護原義字符以免其被解釋為特殊的 url 定界符,同時保護 url 格式以免其被傳輸媒體(像一些郵件系統)使用字符轉換時弄亂
*/
$a ='?a=中文';
$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 的話,則要把解碼出的字符串進行轉換,才能正常顯示