webForumDet fria alternativet

XMLHTTP och svenska tecken

7 svar · 691 visningar · startad av jonne

jonneMedlem sedan jan. 20011 154 inlägg
#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?

Erik JuhlinMedlem 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.

jonneMedlem sedan jan. 20011 154 inlägg
#3

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

Erik JuhlinMedlem 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
jonneMedlem 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?

SannyWMedlem sedan jan. 2003438 inlägg
@ndersMedlem sedan juni 200032 969 inlägg
#7

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

mvh

ptr_lksMedlem sedan juni 2005584 inlägg
#8

felskrivet

raderas, tack

132 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)