如何防止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"),这样浏览器就能用正确的字符集解释传递的数据,防止乱码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值