jquery乱码与contentType属性设置问题解决方案


Posted in Javascript onJanuary 07, 2013

今天闲的无聊,把以前遗留的问题解决一下,比如让人头痛的Jquery乱码问题。其实这方面文章已经很多了,但全面解决各种问题的很少,今天总结一下,方便自己也方便大家。

原因很简单: 其实他的中文乱码就是因为contentType没有指定编码,对于不同Jquery的版本中这个地方有不同的设置,就拿我遇到的,jquery-1.6.1和jquery-1.8.3就有不同的定义。

解决办法:在jquery-1.6.1文件中,搜索'contentType' 然后在application/x-www-form-urlencoded后面加上; charset=UTF-8 最终变成contentType:"application/x-www-form-urlencoded; charset=UTF-8"即可。
这样通过post方法提交后会出现乱码的问题就可以完美解决。

如果还有乱码现象,只能说你接收页面的编码也有问题, 这是由于异步对象XMLHttpRequest在处理返回的responseText的时候,是按UTF-8编码进行解码的。所以post方式的话,必须把这个页面另存一下,将页面文件的编码改为 UTF-8 (请务必记住)。
jquery乱码与contentType属性设置问题解决方案 
没修改前,整个FROM表单数据全部为乱码状态,对于这种情况,大家按以上方法可以轻松解决。

以下是一些特别情况的问题总结,来源于网络:
JQuery Ajax提交出现中文乱码的解决办法2
前使用Jquery的时候一直没有发现,用Ajax提交的时候会出现乱码,我猜测可能是因为编码的原因

可能存在以下几点原因
1.HTML的编码不统一:如页面用的GB2312,好像JQuery对它支持不太好。以前我一直都是用UTF-8的,一直都没有发现;
2.文件的编码,这个不好在表面上看到,简体中文版的操作系统存的文本格式的文件默认是 GB2312,建议把文件换成UTF-8格式的
最简单的解决办法,把提交的中文文本用 JS的 escape 处理一下,就不会现出现乱码了。
如:

//保存数据 
$.ajax({ 
url:"/guide/savecomments.aspx" , 
type:"POST" , 
dataType:"json" , 
data:"Action=SaveComment&CommNickName=" +escape(CommNickName.val()) + "&CommContent=" +escape(CommContent.val()) + "&GuideID=" + GuideID.val() + "&ScoreLogType=<%=ScoreLogType %>", 
success:function(results){ 
alert(results.message);

-------------------------------------------------------------------------------
解决的办法上用js的编码函数encodeURIComponent(string)处理一下,把中文"王晓明"编码成"%E7%8E%8B%E6%99%93%E6%98%8E",就OK了。
顺便说一下,我的tomcat下的URIEncoding=UTF-8
-------------------------------------------------------------------------------
今天在使用jquery检测用户名的时候,对英文和数字的用户名检测正确,但是对中文的时候,检测出错,经过在网上查询一段时间,终于找到了原因,是乱码问题,解决方法:
1、只要在ajax中有数据提交时,如果页面编码不是utf-8的,都应该对提交的数据进行编码,js的编码函数为escape()
2、在服务器端页接收数据后进行解码,然后对数据进行相关的处理后再编码
3、返回到客户端后再解码
4、如果没有提交数据,而是直接从服务器端获取数据,那直接在服务器页面设置Response.Charset="gb2312"即可,不用再编码解码
vbscript中分别对应js中的escape()和unescape()函数 程序代码
-------------------------------------------------------------------------------
通过以下处理方式得到解决
传递参数的时候 对参数进行编码priceName="encodeURI(priceName)",也可以用encodeURIComponent();
服务器端无需做其他处理: String priceName = request.getParameter("priceName");
Javascript 相关文章推荐
javascript之水平横向滚动歌词同步的应用
May 07 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
Aug 09 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
Jan 21 Javascript
浏览器图片选择预览、旋转、批量上传的JS代码实现
Dec 04 Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 Javascript
如何通过js实现图片预览功能【附实例代码】
Mar 30 Javascript
Jquery和BigFileUpload实现大文件上传及进度条显示
Jun 27 Javascript
JavaScript学习笔记整理_setTimeout的应用
Sep 19 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
Feb 15 Javascript
基于Bootstrap分页的实例讲解(必看篇)
Jul 04 Javascript
vue.js 实现点击展开收起动画效果
Jul 07 Javascript
layui多图上传实现删除功能的例子
Sep 23 Javascript
jQuery插件开发基础简单介绍
Jan 07 #Javascript
jquery入门—数据删除与隔行变色以及图片预览
Jan 07 #Javascript
jquery入门—编写一个导航条(可伸缩)
Jan 07 #Javascript
jquery入门—访问DOM对象方法
Jan 07 #Javascript
jQuery.clean使用方法及思路分析
Jan 07 #Javascript
js获取height和width的方法说明
Jan 06 #Javascript
javascript时间自动刷新实现原理与步骤
Jan 06 #Javascript
You might like
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
使用eAccelerator加密PHP程序
2008/10/03 PHP
一段实时更新的时间代码
2006/07/07 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
webpack@v4升级踩坑(小结)
2018/10/08 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
python str与repr的区别
2013/03/23 Python
使用Python的内建模块collections的教程
2015/04/28 Python
用Python编写简单的微博爬虫
2016/03/04 Python
Python 类的继承实例详解
2017/03/25 Python
python数据结构之链表详解
2017/09/12 Python
遗传算法之Python实现代码
2017/10/10 Python
python实现报表自动化详解
2017/11/16 Python
用Python逐行分析文件方法
2019/01/28 Python
python 利用文件锁单例执行脚本的方法
2019/02/19 Python
python修改FTP服务器上的文件名
2019/09/11 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
学python爬虫能做什么
2020/07/29 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
艺术设计专业个人求职信范文
2013/12/11 职场文书
幼儿园托班开学寄语
2014/01/18 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
2014年项目工作总结
2014/11/24 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle