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

来源:互联网 发布:java可以清理cookie吗 编辑:程序博客网 时间:2024/05/20 13:05

在处理一个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
});

1 0
原创粉丝点击