ASP/VBScript ServerXmlHttp Encoding

Colin Ramsay picture Colin Ramsay · Mar 18, 2010 · Viewed 10.2k times · Source

I'm pulling an RSS feed from a remote location using ServerXmlHttp:

Dim httpRequest
set httpRequest = server.createObject("Msxml2.ServerXMLHTTP.6.0")
httpRequest.open "GET", "http://www.someurl.com/feed.xml", false
httpRequest.send()
response.write httpRequest.responseXML.xml

However there must be encoding issues somewhere along the line as I'm seeing ???? where there should be some Japanese characters. Does anyone have any guidance when working with ServerXmlHttp?

Thanks.

Answer

Francisco C picture Francisco C · Feb 19, 2011

After some hours of investigation, these are my results:

Does not work:

<%@ Language=VBScript Codepage=65001 %>

And instead of correct special chars, it shows question marks black question marks.

But this works!!

Response.CodePage = 65001

I've also included

Response.Charset = "UTF-8"
response.AddHeader "Content-Type", "text/html;charset=UTF-8"

Final result:

<%@ Language=VBScript %>
<%
Dim xmlhttp
Set xmlhttp = CreateObject("Msxml2.ServerXMLHTTP")

xmlhttp.open "GET", "http://www.sapo.pt", 0
xmlhttp.send ""
Dim pagina

response.AddHeader "Content-Type", "text/html;charset=UTF-8"
Response.CodePage = 65001
Response.Charset = "UTF-8"


pagina = xmlhttp.responseText
Response.Write pagina
Set xmlhttp = Nothing 
%>