| 

.NET C# Java Javascript Exception

1
Hallo,

ich habe eine HTML Datei, die ich so einlese:

StreamReader fp = new StreamReader(File.OpenRead(ssourcePath + "\" + sWikiTitle + ".htm"));
string sContent = fp.ReadToEnd();
fp.Close();


Die Datei habe ich zuvor aus Word als Html gespeichert. Irgendwie werden aber Sonderzeichen nicht korrekt eingelesen. So wird z.B. „ (Anführungszeichen unten) in der Html Datei noch korrekt angezeigt. In dem String nach dem Einlesen leider nicht.

Kann mir jemand sagen, wie ich das korrekt einlesen kann?

Danke.
07.09.2011
LutzJ 1,3k 1 8
2 Antworten
2
Ich habe keine Ahnung, in welcher Kodierung Word das HTML speichert. .NET verwendet standardmäßig UTF-8. Vielleicht geht es, wenn Du beim Einlesen eine andere (z.B. die Ansi-Kodierung) verwendest?
07.09.2011
Andreas Ganzer 1,4k 1 8
Welche Kodierung verwendet wird, sollte eigentlich in der HTML-Seite drinstehen. Auf jeden Fall die auch zum Einlesen verwenden.
Matthias Hlawatsch 07.09.2011
@Matthias: Ich habe probeweise mit Word 2010 mal ein HTML-Dok. erzeugt. Der Zeichensatz war nirgends erwähnt. Oder habe ich ihn einfach übersehen? Ich bin kein HTML-Spezialist ;-)
Andreas Ganzer 07.09.2011
Bei mir (dt. Windows 7 mit Office 2010) steht gleich am Anfang:

<meta http-equiv=Content-Type content="text/html; charset=windows-1252">

Also ist das Encoding Windows-1252, zu erhalten über

System.Text.Encoding.GetEncoding("Windows-1252");

oder auch (jedenfalls mit meinem Setup) über

Encoding.Default;

Möglicherweise (ich spekuliere jetzt) verwendet Office sogar immer den Zeichensatz, den Encoding.Default zurückgibt - dann ergäbe das sogar eine windows-sprach-unabhängige Lösung, solange die HTML-Datei auf dem gleichen Rechner erzeugt wurde.
Matthias Hlawatsch 07.09.2011
Kann mir bitte jemand noch einen kleinen Hinweis geben, wie ich das encoding beim einlesen der Datei angebe?
LutzJ 07.09.2011
@Lutz als zweiten Parameter des Konstruktors von StreamReader
Matthias Hlawatsch 07.09.2011
0
Was steht denn statt des " im string? Falls es & quot; ist, handelt es sich um die HTML-Kodierung, in der die Sonderzeichen vorliegen.
07.09.2011
carlptr 777 1 8

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH