jQuery AJAX保存数据中文乱码解决方案

在处理一个GB2312编码的网站,用jQuery AJAX提交时,无论是在数据库,还是load返回页面,中文数据都变成了乱码。
jQuery AJAX中文乱码原因在于javascript使用的是UTF-8国际编码,UTF-8每个汉字用4个字节来存储。而我的页面和数据库都用GB2312编码,这就造成了AJAX send数据的时候出现中文乱码的问题。

解决方法是,所有的页面编码声明都用utf-8,数据库、表、字段也用utf-8。

 

 代码如下 复制代码

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

mysql_set_charset('UTF8')

“三码合一”指的是:“数据库”、“视图”、“代码”,编码的统一。文件存储也要是utf-8编码格式。

原理和更复杂的解决方法,就不多写了,用的时候搜一下。

推断:看来要解决这个中文乱码问题,就必须给AJAX异步提交指定显 示的charset!

马上查阅JQuery的AJAX工具函数的说明,发现options中有一个指定content-type的参数,给我的AJAX代码加上:

 代码如下 复制代码

jQuery(form).ajaxSubmit({
url: "ajax.aspx?a=memberlogin",
type: "post",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: showLoginResponse
});

时间: 2024-09-03 07:04:37

jQuery AJAX保存数据中文乱码解决方案的相关文章

javascript ajax提交数据中文乱码解决办法

一个UTF8页面需要POST数据到GB2312页面,这时中文的编码是按照UTF8提交过去的,GB2312页面无法接收.如何实现,网络搜索了一种很不错的方法,但有缺陷,这里一一说起. 1.FORM标签里加上accept-charset代码,这个能把FORM里的数据自动编码成指定的字符集提交,比如在UTF8页面提交数据到GB2312,代码就是accept-charset="GB2312″,但accept-charset除了IE其他浏览器都支持... 2.这时可以在提交时触发JS,document.c

ajax获取数据中文乱码问题最简单的完美解决方案_AJAX相关

使用scriptCharset即可解决问题,用contentType就不一定可以了. 复制代码 代码如下: $.ajax({       url: testUrl,       dataType: 'jsonp',       type: 'post',       scriptCharset: 'utf-8'     }); 上面的解决方案是最完美的,另外也附上网上的解决方式吧,是用contentType来处理的 复制代码 代码如下: jQuery(form).ajaxSubmit({ url

ajax获取数据中文乱码问题最简单的完美解决方案

使用scriptCharset即可解决问题,用contentType就不一定可以了. 复制代码 代码如下: $.ajax({       url: testUrl,       dataType: 'jsonp',       type: 'post',       scriptCharset: 'utf-8'     }); 上面的解决方案是最完美的,另外也附上网上的解决方式吧,是用contentType来处理的 复制代码 代码如下: jQuery(form).ajaxSubmit({ url

struts2 action获取ajax提交数据中文乱码问题

有个人和我问题相同,地址在这: 解决方法: 在ajax的属性添加这句:contentType:'application/x-www-form-urlencoded; charset=utf-8',   

解决Ajax加载JSon数据中文乱码问题

一.问题描述 使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: Java代码 async: { enable: true, url: basePath + '/sysMenu/listSysMenu', autoParam: ["id=parentId"] } SpringMvc中文字符处理: Java代码 <mvc:annotation-driven> <mvc

jQuery ajax方法传递中文时出现中文乱码的解决方法_jquery

本文实例讲述了jQuery ajax方法传递中文时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 使用jQuery的ajax方法,在传递中文时出现中文乱码,按照以前的方法,修改了jquery文件中的ajaxSetting也不好使 复制代码 代码如下: sajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded;charse

ubuntu下php向mysql插入数据中文乱码

问题描述 ubuntu下php向mysql插入数据中文乱码 查了很多东西,能配置的编码都配置成了utf8 解决方案 楼主,我的第一个采纳.. 解决方案二: http://www.linuxidc.com/Linux/2008-05/12967.htm 解决方案三: http://blog.csdn.net/pinghegood/article/details/6704673 解决方案四: 图片没有显示全来补充下 解决方案五: 解决方案六: 解决方案七: 解决方案八: 解决方案九: 创建数据库的时

asp.net 向 Oracle 添加数据 中文乱码

问题描述 asp.net 向 Oracle 添加数据 中文乱码 问题:asp.net 向oracle 插入中文乱码 oracle 字符集 AMERICAN_AMERICA.US7ASCII 而oracle的字符集是不可更改的.那么在程序如何处理? 解决方案 出现乱码的原因无非也就那么几个,要么代码的编码和数据库的不统一,要么从数据库获取数据的时候采取的编码出错,要么就是界面展示数据的时候出错了!不妨从这几个方面着手进行修改,希望对你有用 解决方案二: 搜到两个看起来靠谱的方法 1. 以上的大伙们

visual studio 2010-VS2010MFC向mysql的表里添加数据中文乱码怎样解决

问题描述 VS2010MFC向mysql的表里添加数据中文乱码怎样解决 VS2010MFC向mysql的表里添加数据中文乱码怎样解决添加中文数据时为乱码 解决方案 http://zhidao.baidu.com/link?url=v-2TA8JfFBl1xJw5_gDxKW9P7nN8yJ6NH0pGkWfSExWU4KZw3BZWcy1K_fStSoRE4Fk8aEr4tDTkUIIj4EeHma 解决方案二: mysql设置UTF8字符集,连接数据库的时候也指定字符集为UTF8,然后MFC中