jquery中文亂碼的解決方法:1、將項目的編碼統一設定為【UTF-8】,將資料互動時的編碼都統一為【UTF-8】;2、如果項目的編碼已經統一設定為GBK或GB2312,則在ajax呼叫傳送中文參數到服務端時容易出現中文亂碼。
推薦:《jquery影片教學》
jquery中文亂碼的解決方法:
方法1,將項目的編碼統一設定為UTF-8. 將資料互動時的編碼都統一為"UTF-8";
方法2,如果專案的編碼已經統一設定為GBK或GB2312,則在ajax呼叫向服務端傳遞中文參數時容易出現中文亂碼,這時的處理方式如下:
後台:
程式碼範例:
/* =============禁止缓存============== */ response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Expires", "0"); /* =============禁止缓存============== */ response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); //request.setCharacterEncoding("UTF-8"); String userName = request.getParameter("userName"); userName=URLDecoder.decode(userName, "UTF-8"); //在springmvc中,如没有通过request,或直接设置jquery的编码设置,则需要如下方式转换。 // mykeyword = new String(keyword.getBytes("iso-8859-1"),"UTF-8"); //但如果是encodeURI()函数转换,则如下就可以。注意,这时参数在 url后面。 userName=URLDecoder.decode(userName, "UTF-8");
前台如:
程式碼範例:
var myurl="grzx/validateUserNameIsExists.do?userName="+username; myurl=encodeURI(myurl); myurl=encodeURI(myurl); jQuery.ajax({ url:myurl, type:'POST', async:false, data:{}, success:function(data){ var msg=eval('('+data+')'); // var msg=JSON.parse(data); if(!msg.result){ jQuery('#myusername').attr('value',''); alert('用户名已存在!请用新的用户名'); } } });
進行兩次編碼。
在前台傳遞的“哈哈大笑”,在後台編碼前為:“哈哈大笑”;就算成功了。
當然,只編碼一次也是可以的,將jquery的編碼設定為"UTF-8"; 加上;charset='UTF-8'就好了。
例如:
程式碼範例:
contentType : 'application/json;charset=UTF-8',
#相關免費學習推薦:JavaScript(影片)
以上是jquery中文亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!