在用jquery處理html5的應用程式的時候,一直在firefox下測試都正常,用戶用pad訪問的時候說有亂碼,
自己試驗了下果然,後發現chrome和ie內核下都是有此問題,此問題設定了頁面屬性為utf-8時候,只有firefox是傳的charset=utf-8的頭檔
chrome和ie都沒有指定,所以出現亂碼問題.
解決方法:
$.ajaxSetup({
$.ajaxSetup({
$. -form-urlencoded; charset=utf-8"
});
$.post("test.php", { name: "i5a6", time: "2pm" },
function(data ){
process(data);
或使用:
或使用:
程式碼如下:
$.ajax({
url:url,
type:"POST",
data:
contentType:"application/x-www-form-urlencoded; charset=utf-8",
dataType:"json",
success: function(){
...
🎜>})
推薦使用第一種,不過也是根據自己的實際情況看的,有人推薦用encodeURIComponent 做字符轉換
總結一下ajax 提交數據亂碼一些經驗
為了避免亂碼,可以做到以下幾步
解決方法
1,保持編碼的統一,包括文件編碼,資料庫編碼,網頁content-type編碼因為jquery ajax是使用utf- 8來編碼傳送資料的,ie在傳送時卻沒加上charset=utf-8,因而導致亂碼(IE預設使用iso-8859-1編碼)
複製程式碼
程式碼如下:$.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=utf-8" });