jquery.ajax GET 传递参数 乱码问题

来源:互联网 发布:手机淘宝客户端 html5 编辑:程序博客网 时间:2024/04/30 20:59

   在使用JQuery.ajax方法时肯定会遇到一个问题。在编码不是UTF-8的时候(如gb2312),当传递的参数里有中文的时候,服务端Request的时候都会出现乱码。本人最近也遇到了需要传递中文参数的问题。
   在jquery源文件中修改一下代码

   type:"GET",contentType:"application/x-www-form-urlencoded",   修改前

   type:"GET",contentType:"application/x-www-form-urlencoded;charset=UTF-8",  修改后

 

   修改正常情况使用 GET方式提交(GET一定要大写),不在需要在encodeURI()后在服务器端解码,就像传递英文一样传递中文。

 

   jquery乱码的原因,在未指定字符集的时候,是使用ISO-8859-1

   ISO8859-1,通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符。

   jquery的Ajax根本没有考虑到国际化的问题,使用了欧洲的字符集,所以才引起了传递中文出现乱码的问题。