2010-11-22 9 views
1

Ich benutze einen StreamReader (in C#), um den Inhalt einer HTML-Datei in ein Textfeld zu lesen. Unabhängig davon, welche Kodierung ich verwende, werden alle Apostrophe und Aufzählungszeichen in Fragezeichen umgewandelt.Lesen HTML-Datei in Textfeld übersetzt Apostrophe und Kugeln in?

Gibt es eine andere Möglichkeit, eine HTML-Datei zu lesen, die diese Zeichen enthält?

Danke! Jerry

Hier ist der Code:

private void button1_Click(object sender, EventArgs e) 
{ 
    DialogResult result = openFileDialog1.ShowDialog(); 
    if (result == DialogResult.Cancel) 
     return; 

    StreamReader sr = new StreamReader(openFileDialog1.FileName); 

    txtMessage.Text = sr.ReadToEnd(); 
    sr.Close(); 
} 

Ich habe auch die Stream mit dem Encoding-Parameter verwendet (versucht jeder). Das einzige, was es zu tun scheint, ist zu interpretieren, ob die Fragezeichen regelmäßig oder umgekehrt sind (schwarzer Diamant mit weißem Fragezeichen).

Wenn es einen Unterschied macht, werden die Dateien in Word von einer anderen Abteilung erstellt und dann in gefiltertes HTML exportiert.

Eine letzte Sache: Wenn ich die HTML-Datei in etwas wie Editor öffnen und den Text in das Textfeld kopieren/einfügen, dann sieht alles genau so aus, wie es sollte.

Die Änderungen treten nur auf, wenn ich versuche, die Datei über einen Leser zu ziehen.

+3

Es ist wegen der Tippfehler in Zeile 31. Nein, wirklich ... fügen Sie den Code oder wir können Ihnen nicht helfen, zu debuggen. – cdhowie

+0

private void button1_Click (Objekt Absender, EventArgs e) { DialogResult Ergebnis = openFileDialog1.ShowDialog(); if (result == DialogResult.Cancel) zurückgeben; StreamReader sr = neuer StreamReader (openFileDialog1.FileName); txtMessage.Text = sr.ReadToEnd(); sr.Close(); } – JerryK

+0

Entschuldigung, das ist schrecklich formatiert. – JerryK

Antwort

0

Ich würde es mit new StreamReader(..., Encoding.UTF8); oder new StreamReader(..., Encoding.GetEncoding("iso-8859-1")); versuchen und wenn das nicht funktioniert, dann würde ich nach der Person gehen, die die Datei erstellt und stopfen Nadeln unter ihren Fingernägeln, bis sie gestehen, welche Kodierung sie verwendet, um es zu erstellen.

+0

Oder bis sie versprechen, Word nicht zu verwenden, um HTML zu generieren ... – cdhowie

+0

Bereits versucht. Ich werde die HTML-Datei ohne Word neu erstellen und sehen, ob das einen Unterschied macht. – JerryK

+0

Lustig, ich habe versucht, die GetEncoding, die Sie empfohlen, und es die Apostrophe in Leerzeichen geändert. Die Kugeln sehen jedoch perfekt aus. – JerryK