encodeURI來解決URL傳遞時的中文問題
阿新 • • 發佈:2019-02-15
encodeURI
function verify() { //解決中文亂麻問題的方法1,頁面端發出的資料作一次encodeURI, 伺服器段使用進行轉移成UTF-8; //解決中文亂麻問題的方法2,頁面端發出的資料作兩次encodeURI, 這個做的好處在於,不管瀏覽器使用者在頁面來設定編碼,伺服器所採用的編碼來做一次URLencode轉換成UTF-8. var url = "AJAXServer?name=" + encodeURI(encodeURI($("#userName").val())); url = convertURL(url); $.get(url,null,function
這裡要做兩次encodeURI的原因以及說明::
具體說明
其中具體的原理分析如下,假設頁面端輸入的中文是一個“中”,按照下面步驟進行解碼 1.第一次encodeURI,按照utf-8方式獲取位元組陣列變成[-28,-72-83],對位元組碼陣列進行遍歷,把每個位元組轉化成對應的16進位制數,這樣就變成了[E4,B8,AD],最後變成[%E4,%B8,%AD]