中文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 的話,則要把解碼出的字符串進行轉換,才能正常顯示。
新聞熱點
疑難解答