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 相关文章推荐
通过JQuery将DIV的滚动条滚动到指定的位置方便自动定位
May 05 Javascript
JavaScript事件委托技术实例分析
Feb 06 Javascript
jQuery实现的背景动态变化导航菜单效果
Aug 24 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
基于jquery实现简单的手风琴特效
Nov 24 Javascript
jQuery事件处理的特征(事件命名机制)
Aug 23 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
Sep 23 Javascript
微信js-sdk上传与下载图片接口用法示例
Oct 12 Javascript
详解JavaScript常量定义
Jan 03 Javascript
微信小程序调用摄像头隐藏式拍照功能
Aug 22 Javascript
Vue的watch和computed方法的使用及区别介绍
Sep 06 Javascript
详解vue中v-bind:style效果的自定义指令
Jan 21 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
PHP5 安装方法
2007/01/15 PHP
PHP中函数内引用全局变量的方法
2008/10/20 PHP
探讨如何在php168_cms中提取验证码
2013/06/08 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
PHP多态代码实例
2015/06/26 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
javascript 写类方式之五
2009/07/05 Javascript
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
2016/03/07 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
原生JS发送异步数据请求
2017/06/08 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
python安装本地whl的实例步骤
2019/10/12 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
基于Python爬虫采集天气网实时信息
2020/06/05 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
机电一体化大学生求职信
2013/11/08 职场文书
工作迟到检讨书
2014/02/21 职场文书
合作经营协议书
2014/04/17 职场文书
人事局接收函
2015/01/30 职场文书
煤矿安全保证书
2015/02/27 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
Python自动化爬取天眼查数据的实现
2021/06/15 Python
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫