Forum: VB.NET |
Thema:
Umlaute zu Server Posten. Ich Poste ä und "ä" kommt an! |
Von:
G. Guest (
03.06.2006 09:49) |
Hallo!
Ich hab folgendes Problem:
Ich benutze diesen Code um Daten zu einem Server zu Posten:
==================================================================
Public Function PostString(ByVal data As String, byval url as String)
Dim postdata As String
Dim myWriter As StreamWriter = Nothing
Dim SomeBytes() As Byte
Dim UrlEncoded As New StringBuilder
Dim reserved() As Char = {ChrW(63), ChrW(61), ChrW(38)}
webrequest = WebRequest.Create(url)
Dim r As Stream = File.Open(application.StartupPath & "\Data\session.swd", FileMode.Open, FileAccess.Read)
Dim c As New BinaryFormatter
cookie = CType(c.Deserialize(r), CookieContainer)
r.Close()
webrequest.CookieContainer = cookie
webrequest.Credentials = CredentialCache.DefaultCredentials
webrequest.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*"
webrequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705;)"
webrequest.Headers.Set("Accept-Language", "de-de,de;q=0.8,en-us;q=0.5,en;q=0.3" & vbNewLine)
webrequest.Headers.Set("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7" & vbNewLine)
webrequest.Method = "POST"
postdata = data
If postdata <> Nothing Then
Dim i As Integer = 0
Dim j As Integer
While i < postdata.Length
j = postdata.IndexOfAny(reserved, i)
If j = -1 Then
UrlEncoded.Append(HttpUtility.UrlEncode(postdata.Substring(i, postdata.Length - i)))
Exit While
End If
UrlEncoded.Append(HttpUtility.UrlEncode(postdata.Substring(i, j - i)))
UrlEncoded.Append(postdata.Substring(j, 1))
i = j + 1
End While
SomeBytes = System.Text.Encoding.UTF8.GetBytes(UrlEncoded.ToString())
webrequest.ContentLength = SomeBytes.Length
else
webrequest.ContentLength = 0
End if
webrequest.ContentType = "application/x-www-form-urlencoded"
postdata = data
Dim requestStream As Stream = webrequest.GetRequestStream()
requestStream.Write(SomeBytes, 0, SomeBytes.Length)
requestStream.Close()
webresponse = webrequest.GetResponse
streamreader = New StreamReader(webresponse.GetResponseStream,Encoding.UTF8)
Dim txt As String = streamreader.ReadToEnd.Trim
streamreader.Close()
webresponse.Close()
Return txt
End Function
==============================================================
Wenn ich aber Umlaute Poste (ä,...), dann kommt nur sowas an: "ä"
Danke, Christoph
Betreff |
Von |
Datum |
|
|
Christian
Hehtke
|
07.06.2006 16:56 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!