關於js和php對url編碼的處理方法

2022-09-28 21:12:29 字數 799 閱讀 3579

解決辦法: 採用js對url中的漢字進行escape編碼。

複製** **如下:

php?p_sort='+escape('php開發資源網'));">

這樣點選鏈結後的效時:

引用:程式設計客棧ist.php?p_sort=php%u5f00%u53d1%u8d44%u6e90%u7f51

生成了這樣的效果, 很明顯用php的urldecode()或者base64_decode()是無法反解的。

解決方法, 用php寫乙個反解函式:

複製** **如下:

function js_unescape($str)

else if ($str[$i] == '%')

else $ret .= $str[$i];

}return $ret;

}注意js編碼會自動轉換成為utf-8, 所以必須進行編碼轉換才能得到正確的結果,否則會中文亂碼。

複製** **如下:

print iconv('utf-8', 'gb2312', js_unescape($_request['p_sort']));

到此我們就成功地反解了js的escape編碼了。

另外我找到個用php實現js的escape編碼的函式:

複製** **如下:

function phpescape($str) else }

return $retrunstring;

}

本文標題: 關於js和php對url編碼的處理方法

本文位址: /wangluo/php/105976.html

js對url進行編碼和解碼

只有 0 9 a z 以及某些保留字,才能不經過編碼直接用於 url。例如 搜尋的中文關鍵字,複製 之後再貼上就會發現該url已經被轉碼。原理 對除ascii字母 數字 標點符號 以外的其他字元進行編碼。編碼 escape 結果 escape 張 結果 u5f20 解碼 unescape http ...

Python對URL編碼和解碼

在做介面測試時,時常會發現抓取的介面引數中含有這種資料 3d 5b 7b 22mainspucode 22 3a 22spu66668 22 2c 22mainskucode 22 3a 22536963999401508874 當請求資料為字典data 且引數中包含中文或者?等特殊符號時,需要通過...

js中的url編碼

看下邊這個url串 1 back 在go頁面用c 的request.querystring肯定無法獲取正確的back引數.back的引數值會是 而js呼叫go頁面時就需要對back引數裡的url串進行url編碼才行.escape 方法 採用iso latin字符集對指定的字串停止編碼。所有的空格符 ...