| 

.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.
News:
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