jQuery AJAX中文乱码处理】的更多相关文章

最近工作中用jQuery ajax返回出现乱码,用的Notepad++编辑器,当JS部分传递中文时,另一页面接收的话会出现乱码,在网上找了很多方法,基本上没有很好的解决. 页面用GB2312编码,JS部分得到中文字符:var playerName=$('#playerName').val(); 可以这样处理: 在ajax代码部分: $.ajax({ url:   'getName.php', type:  'GET', cache: false, data:{ 'playerName':   e…
最近在做一个项目,遇到AJAX中文乱码问题,经过一个下午的努力终于完美解决,现将心得写下来,希望对那些还困绕在这个问题而头痛不已的人们有所帮助. 众所周知,使用AJAX传送和接收中文参数时,如果不在客户端和服务器做相应的处理就会出现乱码问题,在网上相应的文章也不少,但是有的情况下很难从中找 到符合自己理想的答案,我今天就是在网上找了很多,但是都差不多,讲ASP和JSP的比较多(我是用的PHP),所以到最后都没找到自己满意的答案. AJAX的中文乱码可以大概分为两中,第一种是向服务器端发送中文参数…
 ajax 中文乱码  Firefox 正常,IE 有问题是 解决办法 data:{"name":name,"number":number,"cardNumber":cardNumber,"t":new Date().getTime()}, 采用这种方式传参. contentType: "application/x-www-form-urlencoded; charset=utf-8",…
网上有很多解决Ajax中文乱码的例子,昨晚弄了很久,最终确定一种“确实”有效地方法.首先我有必要说明一下我遇到的情况:有一个注册页面,注册用户填完信息并提交后,页面获得信息并通过java servlet存放到mssqlserver中.但若填写的信息中含有中文,则报错.这就是我遇到的情况. 网上似乎有很多种解决方法,不过我现在只确定了一种: 你要要将含有中文的数据进行两次encodeURI编码,在服务器端用java.net.URLDecodeer.decode(String s,"UTF-8&qu…
ajax中文乱码问题的总结 2010-12-11 22:00 5268人阅读 评论(1) 收藏 举报 ajaxurljavascriptservletcallback服务器 本章解决在AJAX中常见的中文问题,分析中文乱码产生的原因,以及如何解决乱码问题 1. HTTP协议的编码规定 在HTTP协议中,浏览器不能向服务器直接传递某些特殊字符,必须是这些字符进行URL编码后再进行传送.url编码遵循的规则: 将空格转换为(+) 对0-9,a-z,A-Z之间的字符保持不变. 对于所有其他的字符,用这…
估计这是个bug: //mui 的 ajax 中文乱码 var url = 'http://api.juheapi.com/japi/toh?key=1f26c107d8864bdfb98202bc314ce0d5&month=11&day=25&v=2.0' mui.ajax(url,{ dataType:'json', type:'post', timeout:5000, success:function(data){ console.log(data); var result…
最近,在用PHP做一个AJAX功能时,出现了中文乱码.在网上搜索了一上,很多是有说不过试过都不行,我页面的的编码是UTF-8的,MYSQL中也是UTF-8的.以前在.NET中也遇到这样的问题,但只是在前台页面中把中文escape一下就行了,但在PHP中却不行,escape后在后台取不到汉字,网上有说怎么转换的,可是用过都不行最后百思不得其解,在FIREFOX中文倒是可以,用FIREDUG查看到发现在IE和FF处理中文不一样.偶然中试了一下encodeURIComponent这个函数.成功了,在I…
通过AJAX获取数据中文乱码解决方案: @ResponseBody 作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区. 使用时机: 返回的数据不是html标签的页面,而是其他某种格式的数据时(如json.xml等)使用:…
1.使用editplus创建了demo.txt (ANSI保存的), $("#div1").load("demo.txt");//div显示中文乱码--->html5中定义<meta charset="utf-8"/>,编码解码不一致造成中文乱码,将文本文件demo.txt另存为utf-8格式,中文显示正确,问题解决…
修改jQuery插件源代码的时候,中文字符有时候会显示乱码,通常这个插件是老外写的,默认文件的编码格式ANSI格式,源代码写中文字符的时候就会显示乱码,解决方法就是将文件编码格式换成UTF-8格式 保存,将原来的文件替换掉即可…
问题:昨天在进行项目功能实现时,利用了$.ajax吧数据post给服务,接着保存到cookie中,而数据中是带有中文的 我的post代码: comCarId=encodeURIComponent(comCarId);$.ajax({ type: "POST", url: "/Car/AddCarId", data: { carID: comCarId }, dataType: "json", success: function (data) {}…
主要遇到的问题: 一.ajax向服务器提交的数据有中文,没有设置编码方式.造成服务器接收到乱码 二.服务器向ajax返回数据中有中文,没有设置响应编码方式,造成ajax接收到乱码 乱码产生的原因:不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的.以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器之间的通信实质上是socket流,所以要先将请求参数(字符)转换成字节,也就是编码过程,服务器接收到请求参数后进行解码(…
这个问题的解决主要还是通过url编码对中文进行处理,在服务后台代码中,进行url解码处理. 但是问题来了,asp没有解码的内置函数,只有一个编码的内置函数UrlEncode,而用UrlEncode进行编码出来的字符和js内置的3个编码(escape,encodeURI,encodeURIComponent)函数编码出来的字符串也不一样,原因没深入的了解,但是应该是JS的编码函数是通过uft-8的编码方式进行字符串编码,而asp应是gb2312进行的. 基于对以上情况的分析基本找到了问题的原因,那…
解决方案: 提交前采用encodeURI两次编码,注:一定是两次 举例: var taText = $("#txtName").val(); taText = encodeURI(encodeURI(taText)); $.getJSON("/Index/valid?name=" + taText + "&imageList=" + imageList + "", function (data) {...}); 以下解…
XMLHttpRequest 在w3c标准中这样提到: 如果响应包含了为响应体指定字符编码的头部,就使用该编码.否则,假定使用 Unicode UTF-8. 前端页面sele.asp <" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr…
第一种.就是所说的引用jquery.validate.messages_cn.js                    下载地址:http://files.cnblogs.com/files/pingming/jquery.validate.messages_cn.rar               下图为内容 /* * Translated default messages for the jQuery validation plugin. * Language: CN * Author:…
1. [代码][ASP/Basic]代码 '在客户端使用javascript的escape()方法对数据进行编码,在服务器端使用对等的VbsUnEscape()对数据进行解码,同样在服务器端使用VbsEscape()对数据进行编码,在客户端使用unescape()对数据进行解码'与javascript中的escape()等效    Function VbsEscape(str)        dim i,s,c,a         s=""        For i=1 to Len(…
case:@RequestMapping中添加 produces= "text/plain;charset=UTF-8", @RequestMapping(method = RequestMethod.GET, produces= "text/plain;charset=UTF-8",…
方法1: 页面端发出的数据做一次encodeURI,服务器端使用new String(old.getBytes("iso8859-1"), "utf-8") 方法2: 页面端发出的数据做两次encodeURI,服务器端使用URLDecoder.decode(old, "utf-8")…
window.location.href = "?supplier=" + escape($("#ddlUser").val()) + "&time=" + $("#txtTime").val();…
最近遇到了ajax 中文乱码的问题.下面总结一下 1. HTTP协议的编码规定 在HTTP协议中,浏览器不能向服务器直接传递某些特殊字符,必须是这些字符进行URL编码后再进行传送.url编码遵循的规则: 将空格转换为(+) 对0-9,a-z,A-Z之间的字符保持不变. 对于所有其他的字符,用这个字符的当前字符集编码在内存中的十六进制格式表示,并在每个十六进制字节前加上一个百分号%.例如,字符“+”用%2B表示,字符“=”用%3D表示,字符“&”用%26表示, 字符“国”用%B9%FA表示注意,同…
在传参的时候给中文参数加上两个encodeURI即可,类似这样: encodeURI(encodeURI(balanceUnit)) 写法二 escape(encodeURI(tmplItem.hyzName)) 接收函数用unescape(decodeURI(tmplItem.hyzName)) 写法三 escape(encodeURI(decodeURIComponent(json.roleName))) 接收函数unescape(encodeURI(roleName)) 在页面中显示时$(…
转载自jquery的 ajax返回值为中文时乱码解决方法 用jquery的ajax,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了乱码. 服务器端已经编码过了(UTF-8编码).开始一直怀疑是客户端的问题,比如客户端和服务器端编码不一致啊,也怀疑是不是JQuery的AJAX工具函数中少配了 contentType: "application/x-www-form-urlencoded; charset=utf-8",…
jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 代码如下: $.ajax({ dataType : ‘json', type : ‘POST', url : ‘http://localhost/test/test.do', data : {id: 1, type: ‘商品'}, success : function(data){ } } ); 问题: 提交后后台action程序时,取到的type是乱码 解决方法: 方法一:提交前采用encodeURI两次编码,记住一…
jquery.ajax的url中传递中文乱码问题的解决方法   JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1 ISO8859-1,通常叫做Latin-1.Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符. JQuery的Ajax根本没有考虑到国际化的问题,使用了欧洲的字符集,所以才引起了传递中文出现乱码的问题. 而我们的UTF…
jquery ajax post 方式默认传递的是UFT-8字符,即使页面设置了gbk编码也无效.字符传到后台时如果后台设置的gbk或者其他编码,就会出现乱码.解决很容易,将后台页面设置成UTF-8编码,如下: header("Content-type: text/html; charset=UTF-8"); 如果数据库存储的是gbk编码,可以在入库前将编码转换为gbk,代码如下: $name[$i]=iconv("UTF-8", "GBK",…
最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如下: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/ht…
今天项目组同事反映,之前有一个正常的请求,今天突然后台获取参数的值出现了中文乱码,怀疑是之前更新jar包所致,笔者仔细想了想更新的内容,仿佛没有涉及到编码的变更啊,然后开始排查,首先后台加了强制以utf-8解析请求的过滤器,web服务器的编码也改成了utf-8,前台页面也是utf-8编码,但是就是有个页面的请求出现了乱码:经过对比发现,所有采用了通用ajax工具提交的请求,都会有这个问题,后来发现,原来上次更新为了解决跨域的问题,在通用的底层代码中加入了content-type参数,默认值设为了…
一.从后台传过来的json不做处理,前端result.name这样调用回乱码.应该使用urldecode将jsonencod转码 注意json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null. 后台: if(!empty($chatData)){ echo urldecode(json_encode($chatData)); <?php $testJSON=array('name'=>'中文字符串','value'=>'t…
用jquery的ajax方法在调用后台数据发现中文乱码,无法解析中文的url,而在别的浏览器下面就不会,如下所示 $.ajax({ type:'get', url:'薛之谦-演员.lrc', async: true, dataType:'text', success:function(data){ console.log(data) }, error:function(err){ console.log(err) }}) 结果直接执行了error,返回一串乱码.lrc not found,这不是…