h5頁面傳參擷取引數如果是中文導致GB2312編碼問題
阿新 • • 發佈:2019-02-17
//這是一個普通的頁面傳參其中address_name傳遞的引數有可能是中文
$(document).on('click','#rom-url',function(){
window.location.href = './index2.html?room_id='+room_id+'&address_name='+resone;
})
//這個是進行引數擷取的方法 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r != null) return r[2]; return null; }
//傳遞對應的鍵值就能拿到相應的引數
var address_name = GetQueryString('address_name');
然後我用了alert彈了一下結果彈出個%E6%B9%98%E5%BD%B1%E7%9B%B8%E8%A1%8C%E6%80%80%E5%8C%96%E7%AB%99 GB2312編碼
解決方式:
function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if(r != null) return decodeURI(r[2]);//利用decodeURI進行解碼 return null; }