Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I set the character set using XMLHttp Object for a POST in classic ASP?

I have to use the XMLHttp object in classic ASP in order to send some data to another server via HTTP from server to server:

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)

I've been told (by the maintainer of the consuming server) that, depending on whether I use this code from Windows Server 2000 (IIS 5) or Windows Server 2003 (IIS 6), he gets Latin-1 (Windows 2000 Server) or UTF-8 (Windows Server 2003) encoded data.

I didn't find any property or method to set the character set of data I have to send. Does it depend on some Windows configuration or scripting (asp) settings?

like image 906
splattne Avatar asked Oct 10 '08 12:10

splattne


1 Answers

You can set the codepage used by setting the option 'SXH_OPTION_URL_CODEPAGE'

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

You should also be using the 'MSXML2.ServerXMLHTTP' object not the 'MSXML2.XMLHttp' object which is for single threaded client side apps.

like image 153
Kev Avatar answered Oct 08 '22 16:10

Kev