webForumDet fria alternativet

XMLHTTP och svenska tecken

ASP

7 svar · 693 visningar · startad av jonne

Medlem sedan jan. 20011 154 inlägg
Frågan#1

Har ett litet huvudbryn med XMLHTTP och POST.

Följande två sidor:

1.asp

<%
Set xml = Server.CreateObject("MSXML2.XMLHTTP")

var1 = "Testing"
var2 = "Svenska tecken Å äö"
xml.open "POST", "http://jonne.dev/2.asp", False
xml.setrequestheader "Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1"
xml.send "var1=" & var1 & "&var2=" & var2 & ""
Response.Write xml.responseText

Set xml = Nothing
%>

2.asp

<%

for each item in request.form
	Response.Write "<b>" & item & "</b> : " & request.form(item) & "<br>" &vbcrlf
Next

%>

Detta retunerar på 2.asp

var1 : Testing
var2 : SvenskateckenÅäö

Försöker man använda urlencode på någon av parametrarna som man skickar in så visas svenska tecken som ? på mottagande sida. Utan så verkar det fungera åtminsone i min testmiljö. Jag vet att specialtecken i vissa fall faller bort när man kör GET men gäller det även POST? En annan undran är varför mellanslagen faller bort i ovanstående exempel?

Detta ska användas för att posta dynamisk data till en extern mottagande sida i slutändan och där så får jag konstant fel med att svaret kommer ut med frågetecken för svenska bokstäver. Även att det ser rätt ut i mitt testsystem. Förslag någon?

Medlem sedan maj 200010 687 inlägg
#2

När du hämtar 2.asp så ändras åäö. Därför kan du inte testa på det sättet. Spara ner det som kommer från Request.Form i en fil i stället så du ser precis vad som händer.
Då bör Server.URLEncode lösa det.

Medlem sedan jan. 20011 154 inlägg
#3

Hur sparar jag ner det i en fil i detta fallet?

Medlem sedan maj 200010 687 inlägg
#4

Typ så här:

Dim fso, tso
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set tso = fso.OpenTextFile("C:\debug.txt", ForWriting, True)
Set fso = Nothing

For Each item In Request.Form
	tso.WriteLine item & " : " & Request.Form(item)
Next 'item

Set tso = Nothing
Medlem sedan jan. 20011 154 inlägg
#5

Ok nu kan jag urlencoda en sträng på 1.asp med svenska tecken och den visas som frågetecken av mottagande sida men debug filen visar rätt.
Varför visas åäö som frågetecken fast de kommer rätt?

Medlem sedan jan. 2003438 inlägg
Medlem sedan juni 200032 967 inlägg
#7

Gammalt solbulle-inlägg som kanske kan appliceras även på detta?

mvh

Medlem sedan juni 2005584 inlägg
#8

felskrivet

raderas, tack

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)