Visual Basic Umlaute gehen beim speichern verloren
#1
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()
  Zitieren
#2
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.
  Zitieren
#3
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
  Zitieren
#4
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 ...
  Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste