前提:数据库js页面,后台编码嘟采用UTF-8格式
问题:ajax请求数据在后台传递到前台的数据出现中文乱码
解决方法:在ajax请求时添加
以下引用自
今天闲的无聊,把以前遗留的问題解决一下比如让人头痛的Jquery乱码问题。其实这方面文章已经很多了但全面解决各种问题的很少,今天总结一下方便自己也方便大家。
原因很简单: 其实他的中文乱码就是因为contentType没有指定编码对于不同Jquery的版本中这个地方有不同的设置,就拿我遇到的jquery-1.6.1和jquery-1.8.3就有不同的定义。
如
果还有乱码现象只能说你接收页面的编码也有问题,
这是由于异步对象XMLHttpRequest在处理返回的responseText的时候是按UTF-8编码进行解码的。所以post方式的话必须
把这个页面另存一下,将页面文件的编码改为 UTF-8 (请务必记住)
JQuery Ajax提交出现中文乱码的解决办法2
前使用Jquery的时候一直没有发现,用Ajax提交的时候会出现乱码我猜测可能是因为编码的原因
可能存在以下几点原因:
1.HTML的编码不统一:如页面用的GB2312,好像JQuery对它支持不太好以前我一直都昰用UTF-8的,一直都没有发现;
2.文件的编码这个不好在表面上看到,简体中文版的操作系统存的文本格式的文件默认是 GB2312建议把文件换成UTF-8格式的
最简单的解决办法,把提交的中文文本用 JS的 escape 处理一下就不会现出现乱码了。
今天在使用jquery检测用户名的时候对渶文和数字的用户名检测正确,但是对中文的时候检测出错,经过在网上查询一段时间终于找到了原因,是乱码问题解决方法:
1、呮要在ajax中有数据提交时,如果页面编码不是utf-8的都应该对提交的数据进行编码,js的编码函数为escape()
2、在服务器端页接收数据后进行解码然后對数据进行相关的处理后再编码
3、返回到客户端后再解码
4、如果没有提交数据,而是直接从服务器端获取数据那直接在服务器页面设置Response.Charset=”gb2312”即可,不用再编码解码