jQuery提交中文会出现乱码的解决办法

Author : lovecicy

项目组使用的js库是jQuery,非常好用,jQuery也提供了ajax的调用,最近在使用ajax时就出现了点问题。

将前台用户输入的邮件信息通过ajax传给后台,后台通过处理返回对应的邮件预览html。当用户输入中文时,后台返回的就会是乱码,通过encodeURIComponent处理再传给后台也不行,最初以为是后台可能发生了编码的转换,但是发现在火狐下可以正常发送中文。最后在网上发现可以通过前台的设置解决。

按照网上的说法,查看了火狐下发送ajax请求和chrome下发送ajax请求的Header,发现果然火狐的Header比chrome发送请求的Header多一个charset设置。

火狐下:

chrome下(IE同):

 

所以解决的方法就是在ajax方法内添加一个contentType属性,值为:application/x-www-form-urlencoded: charset=UTF-8, 问题解决。

参考:

http://ghostwolf.iteye.com/blog/1436762

http://www.jb51.net/article/24097.htm

standard

Have your say