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 相关文章推荐
JS在IE和FF下attachEvent,addEventListener学习笔记
Nov 26 Javascript
9个JavaScript评级/投票插件
Jan 18 Javascript
jQuery判断元素是否是隐藏的代码
Apr 24 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
May 06 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
Mar 30 Javascript
layui.js实现的表单验证功能示例
Nov 15 Javascript
使用DataTable插件实现异步加载数据
Nov 19 Javascript
微信小程序实战篇之购物车的实现代码示例
Nov 30 Javascript
使用ng-packagr打包Angular的方法示例
Sep 21 Javascript
100行代码实现一个vue分页组功能
Nov 06 Javascript
微信小程序实现批量倒计时功能
Nov 01 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
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
JavaScript DOM 学习第二章 编辑文本
2010/02/19 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
解决ueditor jquery javascript 取值问题
2014/12/30 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
Python将string转换到float的实例方法
2019/07/29 Python
Python制作词云图代码实例
2019/09/09 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
Django项目在pycharm新建的步骤方法
2021/03/02 Python
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
应届生人事助理求职信
2013/11/09 职场文书
上班迟到检讨书
2014/01/10 职场文书
小学英语教学反思
2014/01/30 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
鉴定评语大全
2014/05/05 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
考研英语辞职信
2015/05/13 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang