解决xmlhttp乱码的方法

我最近也在研究xmlhttp乱码 的解决办法,我测试了一下,下面是测试代码,如果能把escape转换后的编码再转换成中文,输出的时候反操作就解决问题了。

<SCRIPT language=JavaScript>
function AddDataPost(sUserId,sUserName)
{
   var oBao = new ActiveXObject("Microsoft.XMLHTTP");
sUserId = escape(sUserId);
   sUserName = escape(sUserName);
   var userInfo = "id="+sUserId+"&name="+sUserName;
   oBao.open("POST"," http ://www.ixinu.com/0/Server.asp",false);
   oBao.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=gb2312")
   oBao.send(userInfo);
   delete(oBao);
   document.getElementById("data").innerHTML = unescape(oBao.responseText);
}
</SCRIPT>

<INPUT οnclick=AddDataPost(document.all.id.value,document.all.name.value) type=button value=submit>

userid:<INPUT name=id>

username:<INPUT name=name>
<SPAN id=data></SPAN>
<SCRIPT>document.write(""+escape("我")+"");</SCRIPT>
<SCRIPT>document.write(""+unescape("%u6211")+"");</SCRIPT>

刚才的那个结果测试已经通过了,还有一个更简单的方法,原来:escape和unescape在JS和ASP里面可以通用,所以直接在输出反编码就得到了中文的输出,而不需要经常其它编码操作了,呵呵!

客户端代码:

<SCRIPT language=JavaScript>
function AddDataPost(sUserId,sUserName)
{
   var oBao = new ActiveXObject("Microsoft.XMLHTTP");
   sUserId = escape(sUserId);
   sUserName = escape(sUserName);
   var userInfo = "id="+sUserId+"&name="+sUserName;
   oBao.open("POST","Server.asp",false);
   oBao.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=gb2312")
   oBao.send(userInfo);
   delete(oBao);
   document.getElementById("data").innerHTML = unescape(oBao.responseText);
}
</SCRIPT>

<INPUT οnclick=AddDataPost(document.all.id.value,document.all.name.value) type=button value=submit> userid:<INPUT name=id>
username:<INPUT name=name>
<SPAN id=data></SPAN>
<SCRIPT>document.write(""+escape("我")+"");</SCRIPT>
<SCRIPT>document.write(""+unescape("%u6211")+"");</SCRIPT>


服务器端代码:Server.asp <% Response.Write "<br />"&escape(Request.Form("name"))&vbcrlf  %>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值