encodeURIComponent() 函數可把字元串作為 URI 元件進行編碼。
解決jQuery中Ajax的亂碼問題
$(document).ready(function(){
// alert(encodeURI("我"));
$.ajax({url:"a.php?a=" + encodeURIComponent("我們"),
success:function(re){
alert(re);
},
data:{"b":"我們"},
error:function(r,r1,r2){
alert(1);
}
});
});
POST表單中的資料一直都正常,隻是URL中出現中文的話,伺服器程式收到的會是亂碼,比如/a.php?a=中文,這時候如果伺服器程式使用gb2312則正常,使用UtF-8則亂碼,
解決方法,所有頁面使用utf-8,ajax送出的時候,對URL中的中文進行編碼(encodeURIComponent("我們"),),然後再送出就不會有任何問題,隻是使用者看URL的時候不太直覺
如果要想在URL中使用,可能需要在伺服器程式對URL進行判斷,有雙位元組字元,則進行GB2312解碼。
真的可以诶!