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

有时候我们需要使用ajax提交去提交form的值,这样就需要使用serialize()去获取form的值,但这样获取的值如果有中文,会乱码。这个是什么原因?怎么解决?

原因:.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"gt; 
XML 
<?xml version="1.0" encoding="UTF-8"?>

更多jQuery相关技术文章,请访问 jQuery答疑 栏目进行学习!!

以上就是jquery序列化serialize()方法时中文乱码怎么解决?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读