APS.NET和MVC3解決jQuery中Ajax的亂碼問題

傑克.陳發表於2011-12-21
encodeURIComponent() 函式可把字串作為 URI 元件進行編碼。

解決jQuery中Ajax的亂碼問題

 

  1. $(document).ready(function(){  
  2. //    alert(encodeURI(“我”));  
  3.     $.ajax({url:“a.php?a=” + encodeURIComponent(“我們”),  
  4.                     success:function(re){  
  5.                         alert(re);  
  6.                         },  
  7.           data:{“b”:”我們”},  
  8.                     error:function(r,r1,r2){  
  9.                         alert(1);  
  10.                     }  
  11.             });  
  12.     });  

 

POST表單中的資料一直都正常,只是URL中出現中文的話,伺服器程式收到的會是亂碼,比如/a.php?a=中文,這時候如果伺服器程式使用gb2312則正常,使用UtF-8則亂碼,

解決方法,所有頁面使用utf-8,ajax提交的時候,對URL中的中文進行編碼(encodeURIComponent(“我們”),),然後再提交就不會有任何問題,只是使用者看URL的時候不太直觀

 

如果要想在URL中使用,可能需要在伺服器程式對URL進行判斷,有雙位元組字元,則進行GB2312解碼。

 真的可以誒!

 


相關文章