XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)

时间:2021-05-25

在数据发送一方,利用 javascript 的 escape 函数事先将所有中文转换成英文编码并保存(也可以用 ASP 等其它语言的函数实时转换输出)。
在数据接收一方,利用 javascript 的 unescape 函数将所有英文编码还原。
由于 Ajax 不论任何编码都能正常传送英文,所以用这种方法可以轻松解决。

--------------------------------------------------------------------------------
用XMLHTTP Post Form时的表单乱码有两方面的原因——Post表单数据时中文乱码;服务器Response被XMLHTTP不正确编码引起的乱码。换句话说,本文主要解决两个问题——怎样正确Post中文内容&怎样正确显示得到的中文内容。
Part I Post中文内容
先看看E文的表单是怎么提交的:
复制代码 代码如下:
<SCRIPT language="JavaScript">
strA = "submit1=Submit&text1=scsdfsd";
var oReq = new ActiveXObject("MSXML2.XMLHTTP");
oReq.open("POST","http://ServerName/VDir/TstResult.asp",false);
oReq.setRequestHeader("Content-Length",strA.length);
oReq.setRequestHeader("CONTENT-TYPE","application/x-mon.js的 getXMLTopNode处
var xmlString = this.xmlDoc.responseText;
改为
var xmlString = bin2str(this.xmlDoc.responseBody);//可以在js里直接调用VBScript脚本

3.同时 在输出xml的asp 文件开头加入
<%response.ContentType="application/xml"%>
<?xml version='1.0' encoding='GB2312'?>
当然文件也是保存为gb2312格式的。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章