您的位置:首页 > 理论基础 > 计算机网络

如何防止XMLHttpRequest对象传回的中文数据中出现乱码? 

2006-10-12 09:17 726 查看
如何防止XMLHttpRequest对象传回的中文数据中出现乱码? 
 
在使用AJAX进行网站开发的时候,我们都使用XMLHttpRequest对象来传递数据,由于用户机器使用的操作系统和浏览器使用的默认语言配置可能各不相同,有的用户使用英文配置方案,有的用户使用繁体中文配置方案等等。由于对相同的传送数据使用了不同的语言之间编码方式存在区别,这样就造成部分用户的机器在显示您的网页时出现乱码,那我们应该如何解决这个问题呢?
  有HTML编写经验的朋友都知道,在用HTML网页的时间,我们可以在见面的<HEAD>标签对中添加下面的标签来解决这个问题:<meta http-equiv="Content-Type" content="text/html; charset=gb2312">。在这里指定这个页面所采用的字符集编码为国标码(gb2312),它还有其它的取值,如"Big5"代码繁体中文,"UTF-8"代表Unicode字符编码等等。
  在XMLHttpRequest中,我们也可采用类似的方式,即在HTTP请求的头部指定传输数据的字符编码,这样浏览器就不会再采用其默认的编码方式去解释数据,而会根据HTTP头部指定的字符集编码进行解释,从而有效防止数据中出现乱码的现象。
  具体方法如下:XMLHttpRequest对象有一个setRequestHeader("header","value")方法,这个方法带两个参数,第一个参数(header)指定要添加到HTTP请求首部的键的名称,第二个参数(value)指定这个键的对应值,如果我们用XMLHttpRequest传送的对象为简体中文数据,则可以用下面的命令在HTTP请求头部进行声明setRequestHeader("Content-Type","gb2312"),这样浏览器就能用正确的字符集解释传递的数据,防止乱码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: