Encoding 如何在经典ASP中使用XMLHttp对象为帖子设置字符集?

Encoding 如何在经典ASP中使用XMLHttp对象为帖子设置字符集?,encoding,asp-classic,character-encoding,serverxmlhttp,Encoding,Asp Classic,Character Encoding,Serverxmlhttp,我必须在经典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;"

我必须在经典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)使用此代码,他会得到拉丁语-1(Windows 2000 server)还是UTF-8(Windows server 2003)编码数据


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

您可以通过设置选项“SXH\u option\u URL\u codepage”来设置使用的代码页


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

以上提到SXH\u选项\u URL\u代码页的答案有点误导。该选项与请求主体的编码无关,我认为这是问题所在

问题中的代码示例的问题是在标题中使用“:”而不是“=”。应设置如下:

oXHttp.setRequestHeader “内容类型”,“应用程序/x-www-form-urlencoded;字符集=ISO-8859-1”