当前位置:  开发笔记 > 运维 > 正文

如何使用XMLHttp Object为经典ASP中的POST设置字符集?

如何解决《如何使用XMLHttpObject为经典ASP中的POST设置字符集?》经验,为你挑选了2个好方法。

我必须在经典ASP中使用XMLHttp对象,以便通过HTTP从服务器到服务器将一些数据发送到另一台服务器:

sURL = SOME_URL

Set oXHttp = Server.CreateObject("Msxml2.XMLHTTP")

oXHttp.open "POST", sURL, false 
oXHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded;charset:ISO-8859-1;"

sPost = SOME_FORM_DATA

oXHttp.send(sPost)

我被告知(由消费服务器的维护者),根据我是否使用来自Windows Server 2000(IIS 5)或Windows Server 2003(IIS 6)的代码,他获得了Latin-1(Windows 2000 Server)或UTF-8(Windows Server 2003)编码数据.

我没有找到任何属性或方法来设置我必须发送的数据字符集.它是否依赖于某些Windows配置或脚本(asp)设置?



1> Kev..:

您可以通过设置选项'SXH_OPTION_URL_CODEPAGE'来设置使用的代码页

http://msdn.microsoft.com/en-us/library/ms763811(VS.85).aspx

您还应该使用'MSXML2.ServerXMLHTTP'对象而不是'MSXML2.XMLHttp'对象,该对象适用于单线程客户端应用程序.



2> Thomas Kjørn..:

上面提到SXH_OPTION_URL_CODEPAGE的答案有点误导.该选项与请求正文的编码无关,我认为问题在于此.

问题中代码示例的问题是在标题中使用":"而不是"=".它应设置如下:

oXHttp.setRequestHeader"Content-Type","application/x-www-form-urlencoded; charset = ISO-8859-1"

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有