1. 程式人生 > >h5頁面傳參擷取引數如果是中文導致GB2312編碼問題

h5頁面傳參擷取引數如果是中文導致GB2312編碼問題

//這是一個普通的頁面傳參其中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;
}