uddenMedlem sedan mars 200174 inlägg Har en textfil som innehåller "Hej då"
Öppnar jag den med fso.openTextFile så får jag rätt utskrift.
Försöker jag däremot öppna den med:
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open "GET", strURL, False
objXMLHTTP.Send
strReturn = objXMLHTTP.responseText
Set objXMLHTTP = Nothing
Response.Write(strReturn)
Så blir utskriften: Hej d?
Varför blir det såhär?
Är det något jag missat med xmlhttp?
------------------
Udden.
uddenMedlem sedan mars 200174 inlägg För att svara på mitt eget inlägg:
KAN komma runt detta genom att läsa binärt, men konverteringen sedan är MYCKET tidskrävande/resurskrävande. Dock kommer åäö med.
Men hade något mer tidseffektivt borde väl finnas?
------------------
Udden.
solbulleMedlem sedan mars 20015 287 inlägg Ingen som vet?
Hur för den delen läser man filen binärt?
PaceMedlem sedan juni 20019 024 inlägg
Ingen som vet?
Man måste använda sig av html-koderna (heter det så?) istället för själva bokstäverna:
Å --> &aulm; eller vad det är
solbulleMedlem sedan mars 20015 287 inlägg Njaoo, om jag utgår från scriptet högst upp på sidan här och hämtar en sida som jag sen skriver ut med response.write Så blir utskriften: Hej d? Alltså i själva sourcekoden.
Ser inte något sätt att fixa till det när det redan är i variabeln?
Eller? Fler ideer?
solbulleMedlem sedan mars 20015 287 inlägg Det enda jag kom fram till var en "binär" lösning:
function BinToText(varBinData, intDataSizeInBytes)
const adFldLong = 128
const adVarChar = 200
set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong
objRS.Open
objRS.AddNew
objRS.Fields("txt").AppendChunk(varBinData)
tmp = objRS("txt").Value
objRS.Close
BinToText = tmp
end function
Okej, men hur hämtar man sidan binärt då?
solbulleMedlem sedan mars 20015 287 inlägg Jaså, ska du veta det med ;)
<%
function BinToText(varBinData, intDataSizeInBytes)
const adFldLong = 128
const adVarChar = 200
set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong
objRS.Open
objRS.AddNew
objRS.Fields("txt").AppendChunk(varBinData)
tmp = objRS("txt").Value
objRS.Close
BinToText = tmp
end function
Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objHTTP.Open "GET", "http://www.webforum.nu/showthread.php?s=&postid=397439#post397439", False
objHTTP.setRequestHeader "Content-type","text/html"
objHTTP.Send
strHTML = BinToText(objHTTP.responseBody,35000)
Set objHTTP = Nothing
response.write strHTML
%>
SPiNMedlem sedan mars 20007 896 inlägg Läser ni in XML-dokument borde det ju räcka med att ange rätt encoding ( ISO-8859-1 för oss i Sverige ) i process instruktionen xml.
<?xml version="1.0" encoding="ISO-8859-1"?>
:q
Fungerar inte det, kanske man kan sätta det som header?
objHTTP.setRequestHeader "Encoding", "ISO-8859-1"
Kanske fungerar. Det är ju ingen "riktig" header, men man vet ju aldrig. ;)
Det senare kanske skulle fungera... :)
SPiNMedlem sedan mars 20007 896 inlägg Det är det som jag är mest orolig för att det inte fungerar, eftersom att Encoding inte är en header som normalt skickas till webservers. ;)
Har ni testat alternativ ett? Det är det som borde fungera, eftersom att det anger hur XML-dokumentet ska läsas.
Det är inget XML-dokument...
SPiNMedlem sedan mars 20007 896 inlägg Då blev det ju lite jobbigare... Tvåan fungerar inte, och jag sökte genom RFC:en för HTTP, det finns inga header-attribut för encoding. Bara något som hette Transfer-Encoding, men det var något annat skumt.
SPiNMedlem sedan mars 20007 896 inlägg Jo, förresten! Charset! :D
objHTTP.setRequestHeader "Content-Type", "text/html; charset=ISO-8859-1"
Kan fungera.
solbulleMedlem sedan mars 20015 287 inlägg 'Been There, Done That'
Jaghar inte fått det där att fungera, men är väldigt öppen för ideer, verkar ju väldigt konstigt tycker jag om det inte skall till att kunna fungera.
Lite "Svenskdiskriminering" på Microsoft där! ;)
(mfl. diskriminerade iofs.)
K++Medlem sedan juli 2002171 inlägg
SPiN skrev:
objHTTP.setRequestHeader "Encoding", "ISO-8859-1"
SPin från Nolltre.. :e det borde vara ISO-8859-4..
Latin 1 (Väseuropa, Latinamerika) - ISO-8859-1
.....
Latin 4 (Skandinavien,Baltikum) - ISO-8859-4
SPiNMedlem sedan mars 20007 896 inlägg Jag satte aldrig min fot på NollTre, så du måste tänka på nån annan. :)
ISO-8859-1 brukar fungera kanoners, den också. ;)