jquery出现中文乱码怎么解决

互联网 20-11-25

jquery中文乱码的解决办法:将数据交互时的编码都统一为【UTF-8】,代码为【contentType : 'application/json;charset=UTF-8',】。

  • 该方法适用于所有品牌电脑

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('用户名已存在!请用新的用户名');       }     }    });

进行两次编码。

在前台传递的“哈哈大笑”,在后台编码前为:“%E5%93%88%E5%93%88%E5%A4%A7%E7%AC%91”;就算成功了。

当然,只编码一次也是可以的,将jquery的编码设置为"UTF-8"; 加上;charset='UTF-8'就好了。

例如:

代码示例:

contentType : 'application/json;charset=UTF-8',

相关学习推荐:js视频教程

以上就是jquery出现中文乱码怎么解决的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 中文乱码
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:react有哪些ui框架?

相关资讯