日期:2014-05-16  浏览次数:20577 次

解决ajax时由GBK引起的提交乱码问题

在使用ajax的过程中,我碰到最多的问题就是编码问题.

?

ajax提交时使用的编码显然是utf-8,然jquery在发送请求时并没有指定编码类型,

导致编码在后端被使用默认编码解析(gbk)

?

jquery解决方案:

?

?

$.ajaxSettings.contentType = "application/x-www-form-urlencoded;charset=UTF-8";
...
$.get(...)

?

?

纯javascript时的解决方案:

?

?

...
request.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8;');
...

?

?

差点忘了还有个技巧

if(request.getCharacterEncoding() == null){
	request.setCharacterEncoding("GBK");
}