| |
VB.NET - Ein- und UmsteigerSonderzeichen fehlerhaft bei WebRequest | | | Autor: ProXy | Datum: 22.09.08 11:45 |
| Hallo,
ich lese mittels Webrequest ein Website ein, dies klappt bis auf Sonderzeichen auch ganz gut, bei Umlauten erhalte ich zum Beispiel immer nur ein Fragezeichen. Ich dachte mir, dass dies wohl mit dem Encoding des Streamreaders zu tun hat, also habe ich es mal mit .default, .ascii und auch.utf8 versucht, leider erfolglos. Hier eben der Codeausschnitt:
myResponse = CType(myRequest.GetResponse(), HttpWebResponse)
myStreamReader = New StreamReader(myResponse.GetResponseStream(), _
Encoding.ASCII)
sResponse = myStreamReader.ReadToEnd().Trim() Weiss jemand, was noch eine Möglichkeit wäre?
Gruss,
Stefan | |
Re: Sonderzeichen fehlerhaft bei WebRequest | | | Autor: ProXy | Datum: 22.09.08 15:58 |
| Im Header stand lediglich "text/html", es gibt allerdings einen Meta-Tag, der wie folgt lautet:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Mit dem charset habe ich das ganze auch schon versucht, dies klappte allerdings nicht richtig. Nun habe ich aber eine Vermutung: Wenn auf der Seite Umlaute vorkommen, die "hardkodiert" gelesen werden, so erhalte ich diese auch mit dem default encoding korrekt. Poste ich aber zuvor Umlaute an diese Seite und lese meinen eigenen Inhalt wieder aus, dann sind die Sonderzeichen nicht richtig. Bedeutet das also, dass ich beim Post falsch codiere? Ich nutze dazu ASCII, und dachte eigentlich, dass es richtig sein müsste, denn schaue ich mir alles im Browser an, so steht alles richtig da...
Es sollte ja reichen, die Daten beim Post auch mittels ISO-8859-1 zu übertragen, werde das mal testen!
Gruss,
Stefan | |
Re: Sonderzeichen fehlerhaft bei WebRequest | | | Autor: ProXy | Datum: 22.09.08 16:12 |
| Wenn ich beim Post mit Iso-irgendwas-1 sende, dann stimmt alles auch beim Auslesen wieder. Wer gibt in der Regel vor, wie man Daten per Post senden muss? Würdest du default wählen oder es bei Iso-irgendwas-1 belassen? | |
Re: Sonderzeichen fehlerhaft bei WebRequest | | | Autor: ProXy | Datum: 23.09.08 14:53 |
| Mit "default" meinte ich System.Text.Encoding.Default.. | |
Re: Sonderzeichen fehlerhaft bei WebRequest | | | Autor: ProXy | Datum: 23.09.08 21:38 |
| Ich muss das Thema leider nochmals wiederbeleben, da ich nun auf zwei Probleme gestossen bin. Wenn ich mittels WebRequest einen Post mache, dann übergebe ich die Daten in folgendem Format: "param=value¶m=value¶m=value...
Wenn im value nun ein = vorkommt, dann werden die Daten nur bis zu diesem Zeichen vom Server angenommen. Wie muss ich ein = behandeln, damit es richtig übertragen werden kann? Momentan nehme ich den ganzen Post-String und lasse ihn folgendermussen umwandeln:
myPostData = Encoding.GetEncoding("ISO-8859-1").GetBytes(myPostString) Eventuell ist es auch nicht richtig, die Trennzeichen der Parameter und Werte (& und =) mitcodieren zu lassen, da bin ich mir leider nicht sicher.
Das ist mein grösseres Problem. Ein kleiner Makel besteht noch beim Auslesen der Seite: Zeichen die im HTML-Format vorliegen, z.B. & auml; bzw & gt; (nur hier mit Leerzeichen, da der Browser es sonst wieder umwandelt) werden exakt so ausgelesen. Gibt es eine elegante Methode um diese wieder in normale Zeichen umwandeln zu lassen, oder muss ich mir selber mit replaces weiterhelfen?
Danke für die Hilfe,
Stefan | |
Re: Sonderzeichen fehlerhaft bei WebRequest | | | Autor: ProXy | Datum: 24.09.08 19:08 |
| Soweit ich weiss, wird Multi-Part doch nur beim File-Upload verwendet. Content-Type application/x-www-form-urlencoded habe ich beim Request gesetzt, ausserdem nutze ich UrlEncode um Sonderzeichen richtig zu übertragen.
Bevor ich UrlEncode verwendet habe, kamen Umlaute korrekt an, allerdings war mein Post-String dann nicht mehr korrekt, wenn ein "=" vorgekommen ist...
Die Daten kommen am Server bereits falsch an, der Fehler liegt also nicht beim Auslesen.. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere Infos
|