Reputation: 16466
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.
Upvotes: 3
Views: 10886
Reputation: 1209
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
%>
Upvotes: 4
Reputation: 1927
There are several possible issues here.
This can either be set with the <%@ CodePage=xxxxx %> directive or Response.CodePage and Response.Charset.
Classic ASP has notoriously bad support for these things, and the safest bet is to stick with a single encoding, preferably UTF-8 (CodePage 65001).
Upvotes: 2
Reputation: 9530
When viewing in an unstructured web page, the browser may not be using the correct encoding.
When the XML is loaded into a parser like XMLDOM, the encoding should be respected and displayed correctly.
See XML Encoding for more information.
Upvotes: 0