首页 > Web开发 > 详细

jquery ajax到servlet出现中文乱码(utf-8编码下)

时间:2014-02-17 19:35:29      阅读:558      评论:0      收藏:0      [点我收藏+]

  个人遇到的该问题有两大类:

  第一类很普遍,就是jsp页面编码没有规定,servlet中接收参数没有转码,response没有使用setContentType()和setCharacterEncoding等等原因造成的,这种问题网上有很多帖子互相抄袭,我只谈第二类;

  第二类是使用jquery的ajax功能向后台发送中文参数,后台接收到乱码,我出现这个问题就是拜网上的各种所谓完美解决方案所赐。

  产生这种问题的前提是:你的前台使用utf-8编码,后台接收ajax参数时还从ISO-8859-1向utf-8转码。

  jquery.js里有一项“ajaxSettings”,里面会规定:contentType: "application/x-www-form-urlencoded; charset=UTF-8";说明jquery的ajax参数是以utf-8编码传输的,如果没有“charset=UTF-8”,则是以ISO-8859-1(即Latin1)编码传输的。

  如果你的jquery里也是这么设定的,那么就不要在后台接收参数时使用 param = new String(request.getParameter(paramname).getBytes("ISO-8859-1"),"utf-8")进行转码,一转反而乱了。

jquery ajax到servlet出现中文乱码(utf-8编码下)

原文:http://www.cnblogs.com/weir007/p/3552438.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!