net-board.net Archiv

Normale Version: Visual Basic Umlaute gehen beim speichern verloren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo ich habe ein Programm geschrieben was mir eine HTML Datei die in "windows-1252" Datei Kodierung: ISO 8859-2 mir vorlieg. Wenn ich die Datei abspeichern möchte in diesen Format bekomme ich nur ? bei Umlauten und Sonderzeichen, könnt Ihr mir weiterhelfen???
Code:
Pfad = (Environment.GetFolderPath(Environment.SpecialFolder.Desktop))
        Dim objStreamWriter As IO.StreamWriter
        Dim Enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("ISO-8859-2")
        objStreamWriter = New IO.StreamWriter(Pfad + "\" + Filename, True, Enc)

....


....

        objStreamWriter.Write(Cleantext)
        objStreamWriter.Close()
Also hier steht sowas von dieser Kodierung:
"New StreamReader("file.vb", Encoding.GetEncoding("Windows-1252"), detectEncodingFromByteOrderMarks:=True) "

http://www.microsoft.com/communities/new...&sloc=&p=1

Vielleicht hilft das ja was.
Guck ich mir mal an ich sehe aber gerade das der Quelltext schon falsch im Textarea steht. Ich muss mal gucken was man da machen kann. Im Browser selber wird er richtig angezeigt klick ich Rechts wird der Quellcode auch richtig angezeigt. Lade ich den Quelltext vom Browser in eine Var oder TextArea sehe ich erst die Fehlinformationen. Denke da muss man ansetzen die Speicherung ist jedenfalls Korrekt Smile
Hier mein aktueller Code.

Mit dieser variante geht es. Nachteil ich habe keine CSS etc. mehr da nur ab <body></body> gelesen wird.

WebBrowser1.Document.Body.InnerHtml.ToString
Vorher hatte ich WebBrowser1.Document.ToString, dort sind aber diese Sonderzeichen Probleme. :dontknow:

Code:
Dim Filename As String
                Filename = Dateiname(TextBox1.Text)
                Filename = Replace(Filename, "%20", " ")
                ToolStripStatusLabel1.Text = "Zwischenspeicher: " + Filename
                Dim sAppPath As String
                sAppPath = Application.StartupPath
                Dim objStreamWriter As IO.StreamWriter
                Dim Cleantext As String
                Dim Enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(1250)
                objStreamWriter = New IO.StreamWriter(sAppPath + "\" + Filename, True, Enc)
                Cleantext = Replace(WebBrowser1.Document.Body.InnerHtml.ToString, "%20", " ")
                objStreamWriter.Write(Cleantext)
                objStreamWriter.Close()
                ToolStripStatusLabel1.Text = Filename + " gespeichert."

EDIT: Ich habe es hinbekommen man nehme einfach WebBrowser1.Document.All(0).OuterHtml ...