jquery form表单.serialize()序列化后中文乱码问题原因及解决

有时候我们需要使用ajax提交去提交form的值,这样就需要使用serialize()去获取form的值,但这样获取的值如果有中文,会乱码,原因和解决方法如下:

原因:.serialize()自动调用了encodeURIComponent方法将数据编码了 
解决方法:调用decodeURIComponent(XXX,true);将数据解码

如:

vardata=$('#addf').serialize();
data= decodeURIComponent(data,true);

这是网上的第一种常规做法,但是试了下,并不好用。

使用$(form).serialize()获得表单的所有信息:

我的设置:

1 工程编码,js,jsp,java设置为UTF-8

2 JSP页面编码:

  <%@ page language="java" pageEncoding="UTF-8"contentType="text/html; charset=UTF-8"%> <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>

3 JS中处理

encodeURI(encodeURI(data))  ///注意两次编码!!

4 Java类中处理

  response.setCharacterEncoding("UTF-8");    //response.setContentType("text/html;charset=UTF-8"); //用于向页面输送中文字符串java.net.URLDecoder.decode((String)request.getParameter("username"),"UTF-8");

附带原文链接:

http://blog.csdn.net/w1014074794/article/details/43987689

转载于:https://www.cnblogs.com/zhncnblogs/p/8006944.html

表单序列化提交中文乱码解决方案相关推荐

  1. JSP表单提交中文乱码解决方案

    JSP表单提交中文乱码解决方案 参考文章: (1)JSP表单提交中文乱码解决方案 (2)https://www.cnblogs.com/sincoolvip/p/5746678.html (3)htt ...

  2. ajax异步请求——form表单提交 及 表单序列化提交

    ajax异步请求 AJAX介绍 AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方 ...

  3. laravel中防止表单重复提交的综合解决方案

    [本文转载自Hyes]http://www.hao124.net/article/14 怎样防止表单重复提交,通过搜索引擎能搜到很多结果,但很零散,系统性不强,正好前几天做了这个功能,决定记录下来. ...

  4. js之表单序列化提交

    jQuery 序列化表单数据 serialize() serializeArray()  1.serialize()方法 格式:var data = $("form").seria ...

  5. Spring MVC —— form表单post提交出现乱码

    主要原因是:页面提交时,使用<contentType:utf-8/>格式,而服务端HttpMessageConverter解码时使用其它格式解码(如:ISO-8859-1)导致 解决方案: ...

  6. 表单 multipart/form-data 如何提交中文乱码

    表单 multipart/form-data 如何提交中文乱码 解决方案: multipart/form-data 是用来上传文件时的一个类型 如果用这个的话,有一个专门的乱码解决的啊**.getSt ...

  7. 表单提交中文乱码_Java学习路线分享如何处理中文参数

    Java学习路线分享如何处理中文参数,为什么表单中会产生中文乱码 产生乱码,就是因为服务器和客户端沟通的编码不一致造成的,因此解决的办法是:在客户端和服务器之间设置一个统一的编码,之后就按照此编码进行 ...

  8. jsp表单提交中文乱码的解决

    jsp表单提交中文乱码的解决 <%@ page language="java" contentType="text/html; charset=utf-8 &quo ...

  9. antd提交表单_表单序列化

    随着 Ajax 的出现,表单序列化已经成为一种常见需求.在 JavaScript 中,可 以利用表单字段的 type 属性,连同 name 和 value 属性一起实现对表单的序列化.在编写代码之前, ...

最新文章

  1. Error: Could not access the Package Manager. Is the system running?
  2. Linux下如何查看系统启动时间和运行时间(转)
  3. week06 codelab02
  4. 【转】 使用 AppFuse 快速构建 J2EE 应用
  5. CPU,寄存器,内存三者的关系
  6. 有赞美业微前端的落地总结
  7. [html] 写一个搜索框,聚焦时搜索框向左拉长并有动画效果
  8. BGP——软收敛(讲解+配置命令)
  9. 将三角形绕点b顺时针旋转90度_模型 | 图形旋转与翻折题型汇编
  10. 人月神话:微软开发模式和原则[转]
  11. Python实战从入门到精通第十九讲——自定义字符串的格式化
  12. jsonready onload 与_漫谈JSONP以及img的onLoad和onEr
  13. .net邮件发送帮助类
  14. adblock插件_为WordPress创建一个反AdBlock插件
  15. ubuntu20.04下QT安装
  16. 解决502 bad gateway的九种方案及原因
  17. redis字符串的创建,set、mset、setex、setnx
  18. 非编系统到底是什么意思呀?
  19. 使用beautifulsoup4,爬取一波贴吧的表情包
  20. spring-context.xml

热门文章

  1. 被IP代理网站屏蔽了,真是跪了
  2. 使用TaskManager爬取2万条代理IP实现自动投票功能
  3. Eclipse launch failed.Binary not found解决方案
  4. AS4下搭建cacti
  5. 在网页中怎样打印网页中的一部分(比如打印网页中的一个表格)
  6. 田志刚:智慧的员工,个人知识管理
  7. Samba的配置命令
  8. JQuery模拟网页中自定义鼠标右键菜单
  9. English trip -- VC(情景课)1 D
  10. [转]改变UITextField placeHolder颜色、字体