jquery 중국어 왜곡 문자에 대한 해결 방법: 데이터 상호 작용 중 인코딩을 [UTF-8]로 통합하고 코드는 [contentType: 'application/json;charset=UTF-8',]입니다.
이 방법은 모든 브랜드의 컴퓨터에 적합합니다.
Jquery 중국어 문제 해결:
방법 1, 프로젝트 인코딩을 UTF-8
로 설정합니다. 데이터 상호 작용 중 인코딩은 "UTF-8"입니다.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('用户名已存在!请用新的用户名'); } } });
进行两次编码。
在前台传递的“哈哈大笑”,在后台编码前为:“%E5%93%88%E5%93%88%E5%A4%A7%E7%AC%91”;就算成功了。
当然,只编码一次也是可以的,将jquery的编码设置为"UTF-8"; 加上;charset='UTF-8'
백엔드: