论坛首页 Web前端技术论坛

[ajax]乱码问题

浏览 2022 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-10-28  
对于ajax应用来说,乱码也是一个经常出现的问题。
1)meta声明的charset要和请求的页面返回的charset一致。最好在请求的页面中再设置下输出编码。
asp: response.charset="gb2312或者utf-8"
asp.net: response.charset="gb2312或者utf-8"
php: header("charset=gb2312或者utf-8")
2)文件物理存储编码要和meta声明的编码要一致。如meta指定为gb2312,则物理存储编码为ansi。如果为utf-8,则要存储为utf-8编码。
对于asp,如果指定编码为utf-8,记得还要设置
'防止asp使用utf-8编码时中文出现乱码
VBScript code
Session.CodePage=65001
Response.CharSet="utf-8"

因为asp在国内服务器默认处理编码为gb2312

对于asp.net的话,meta设置为gb2312时,最好设置web.config文件中的
XML code
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>

,并且在输出中文前设置Response.CharSet="gb2312";
因为asp.net默认的编码为utf-8

3)发送中文到动态页面时使用escape/encodeURI/encodeURIComponent编码一下。建议使用encodeURIComponent。

4)如果1-2都对上了但是在接受服务器端发送的信息时还是出现乱码,试试用XML作为信息载体,然后使用responseXML分析下回传的xml文件。因为ajax原本就是用xml作为信息载体的。。。。。。ajax英文名原本就是“异步javascript和xml”【asynchronous javascript and xml】

论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics