Nun, ich kenne PHP nicht. Ich habe mit IIS getestet mit folgendem Code
Private Function DoUrlEncodeRequest() As String
Dim enc As System.Text.Encoding = System.Text.Encoding.Default
AddVal("val1", "üöäßÜÖÄ", enc)
AddVal("val2", "abcdef", enc)
Return UrlEncodePostRequest( _
"http://localhost/ReceiveStrings/webform1.aspx", requestString, enc)
End Function
Private requestString As String = ""
Private Sub AddVal(ByVal name As String, ByVal value As String, ByVal enc _
As System.Text.Encoding)
If requestString <> "" Then
requestString += "&"
End If
requestString += name & "=" & System.Web.HttpUtility.UrlEncode(value, _
enc)
End Sub
Private Function UrlEncodePostRequest(ByVal url As String, ByVal data As _
String, ByVal enc As System.Text.Encoding) As String
Dim req As HttpWebRequest = CType(WebRequest.Create(url), _
HttpWebRequest)
req.Method = "POST"
Dim bdata() As Byte = enc.GetBytes(data)
req.ContentType = "application/x-www-form-urlencoded; charset=" & _
enc.WebName
req.ContentLength = bdata.Length
req.KeepAlive = False
Dim out As Stream = req.GetRequestStream()
out.Write(bdata, 0, bdata.Length)
out.Close()
Dim resp As WebResponse = req.GetResponse()
Dim sr As New StreamReader(resp.GetResponseStream(), enc)
Dim res As String = sr.ReadToEnd()
sr.Close()
resp.Close()
Return res
End Function Hier ist der Servercode
Public retVal As String
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
System.Diagnostics.Debug.WriteLine(Request.ContentEncoding)
System.Diagnostics.Debug.WriteLine(New System.IO.StreamReader( _
Request.InputStream, Request.ContentEncoding).ReadToEnd)
System.Diagnostics.Debug.WriteLine(Request.Item("val1"))
System.Diagnostics.Debug.WriteLine(Request.Item("val2"))
Response.ContentEncoding = Request.ContentEncoding
retVal = "val1= " & Request.Item("val1") & " val2=" & Request.Item( _
"val2")
End Sub (retVal wird einfach als Variable in der Html gezeigt). Das klappt dann für Encoding.Default (Latin-1) und Encoding.UTF8.
________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist |