jquery序列化serialize()方法时中文乱码怎么解决?

原因:.serialize()自动调用了encodeURIComponent方法将数据编码了

解决方法:调用decodeURIComponent(XXX,true);将数据解码

如:

var params = jQuery("#formId").serialize(); // http request parameters. 
params = decodeURIComponent(params,true);

将jquery.js文件中的encodeURIComponent替换为encodeURI。即可解决中文乱码。

还有一种方式将所有jsp、xml的字符集都设置为UTF-8 。

JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"%> 
XML 
<?xml version="1.0" encoding="UTF-8"?>
Image placeholder
前端答疑
未设置
  35人点赞

没有讨论,发表一下自己的看法吧

推荐文章
jquery中文乱码怎么解决?

jquery中文乱码怎么解决?最近使用jQuery遇到中文乱码问题,其实他的中文乱码就是因为contentType没有指定编码,只需在jQuery.js中搜索‘contentType’然后在appli

css文件中文乱码怎么解决?

css文件中文乱码怎么解决?一、字体乱码:1、比如设置字体为宋体:font-family:’宋体’;但因此产生的一个问题是,如果CSS编码有误,会导致页面加载后CSS中的中文字体乱码。通常会采用对中文

Jquery load()乱码怎么解决?

Jqueryload()乱码怎么解决?如果用jQueryload方法加载的文档中包含中文字符,可能会引起乱码问题。要解决这个问题,方法1:所加载的文档本身应当采用UTF-8格式编码。在记事本中,默认的

jquery ajax提交数据乱码怎么解决?

为了避免乱码,可以做到以下几步解决方法1、保持编码的统一,包括文件编码,数据库编码,网页content-type编码检查一下建议中文都是用UTF-8,使用gbk/gb2312有可能会出现乱码2、使用p

jquery的url参数乱码怎么解决?

URL地址栏传递字符(中文、=、&)乱码解决办法1、使用encodeURI()方法encodeURI()方法可把字符串作为URI进行编码,转码之后就不会乱码,同时如果传递参数中包含&、=等特殊字符转码

jquery serialize()中文乱码

jqueryform表单.serialize()序列化后中文乱码问题原因及解决原因:.serialize()自动调用了encodeURIComponent方法将数据编码了解决方法:调用decodeUR

jquery $.post乱码怎么办?

jquery$.post乱码怎么办?解决方法:$.ajaxSetup({ contentType:"application/x-www-form-urlencoded;charset=utf-8" }

jquery easyui乱码怎么办?

jqueryeasyui乱码怎么办?之所以出现乱码是因为,我们在引入easyui以后,它里面的汉化包并没产生作用而汉化包没有发生作用的原因有:1.汉化包引入路径有问题,文件找不到404,这个很简单,只

jquery版本冲突怎么解决?

jquery版本冲突怎么解决?jQuery多个版本冲突的解决方法。1、分别引入不同版本的jquery库;2、使用jQuery.noConflict(true)方法为jquery设置一个别名;3、使用立

jQuery名称冲突怎么解决?

因为许多JavaScript库使用$作为函数或变量名,jquery也一样。其实$只是jquery的一个别名而已,假如我们需要使用jquery之外的另一js库,我们可以通过调用$.noConflict(

jQuery冲突问题怎么解决?

冲突问题的解决方式1:退一步海阔天空,jQuery框架中释放$符号的使用权。其实$只是jquery的一个别名而已,假如我们需要使用jquery之外的另一js库,我们可以通过调用$.noConflict

jquery出错怎么解决?

1、查看是否引入jquery文件2、查询路径是否错误,可以在页面源码中点击js文件路径。有时候js里面会自动加入一些路径,导致路径错误3、JS是解释型语言,是根据标签引用分块顺序执行的,$是jQuer

ie8不支持jquery怎么解决?

IE8不支持jQuery版本解决办法让IE8及以下版本浏览器引用原生JS或者低版本的Jquery1.x版本。我们可任意通过判断IE浏览器的版本来加载对应版本的jQuery。使用语句可在IE8模式下进行

jquery和jquery ui的区别?

jquery和jqueryui的区别?区别有:1、jQuery是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等。 2、jQueryUI则是在jQuery的基础上,利用jQuery的扩展性,

HTML乱码怎么办?

HTML乱码原因1、不同编码内容混杂:HTML乱码是因为html编码问题照成(常见gb2312与utf-8两种编码内容同一时候存在照成)2、未设置HTML编码:3、使用记事本编辑html:有时使用记事

jquery获取url的参数乱码

jquery获取url的参数乱码//扩展方法获取url参数 $.getUrlParam=function(name){ varreg=newRegExp("(^|&)"+name+"=([^&]*)(

jquery length和size()区别

jquerylength和size()区别●length是属性●size()是方法●计算字符长度只能使用length如果你想获取元素的个数,两者效果一样,$("img").length $("img"

jQuery与Zepto的异同

jQuery与Zepto的异同一、同Zepto最初是为移动端开发的库,是jQuery的轻量级替代品,因为它的API和jQuery相似,而文件更小。Zepto最大的优势是它的文件大小,只有8k多,是目前

jQuery与Zepto是什么?

jQuery是什么?jQuery是一个简洁而快速的JavaScript库,可用于简化事件处理,HTML文档遍历,Ajax交互和动画,以便快速开发网站。jQuery简化了HTML的客户端脚本,从而简化了

jquery和zepto的区别是什么?

jQuery是一个简洁而快速的JavaScript库,可用于简化事件处理,HTML文档遍历,Ajax交互和动画,以便快速开发网站。jQuery简化了HTML的客户端脚本,从而简化了Web2.0应用程序

jquery中size()与length的区别是什么?

jQuerylength和size()区别length是属性,size()是方法。如果你只是想获取元素的个数,两者效果一样既("img").length和("img").size()获取的值是一样的。

jQuery和Zepto是什么?

jQuery是什么?jQuery是一个简洁而快速的JavaScript库,可用于简化事件处理,HTML文档遍历,Ajax交互和动画,以便快速开发网站。jQuery简化了HTML的客户端脚本,从而简化了

jquery ajaxError()方法怎么用?

jqueryajaxError()方法怎么用?ajaxError()方法规定AJAX请求失败时运行的函数。注意:自jQuery版本1.8起,该方法只被附加到文档。语法:$(document).ajax

jquery html()方法怎么用?

jqueryhtml()方法怎么用?html()取得第一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档。在一个HTML文档中,我们可以使用.html()方法来获取任意一

jquery hasClass()方法怎么用?

jqueryhasClass()方法怎么用?hasClass()方法验证匹配元素是否包含指定的类,包含则返回true,否则返回false。语法结构:$(selector).hasClass(class