Чтение HTML-файла в текстовое поле переводит апострофы и маркеры в? - PullRequest
1 голос
/ 22 ноября 2010

Я использую StreamReader (в C #) для чтения содержимого файла HTML в текстовое поле. Независимо от того, какую кодировку я использую в качестве надписи, все апострофы и маркеры превращаются в знаки вопроса.

Есть ли другой способ прочитать файл HTML, который сохранит эти символы?

Спасибо! Джерри

Вот код:

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(); 
 }

Я также использовал StreamReader с параметром Encoding (пробовал каждый). Единственное, что он, похоже, делает, это интерпретирует вопросительные знаки, правильные или обратные (черный бриллиант с белым вопросительным знаком).

Если это имеет какое-либо значение, файлы создаются в Word другим отделом, а затем экспортируются в фильтрованный HTML.

И последнее: если я открою HTML-файл в чем-то вроде Блокнота и скопирую / вставлю текст в текстовое поле, то все будет выглядеть именно так, как и должно.

Изменения происходят только в том случае, если я пытаюсь извлечь файл через устройство чтения.

1 Ответ

0 голосов
/ 23 ноября 2010

Я бы попробовал это с new StreamReader(..., Encoding.UTF8); или new StreamReader(..., Encoding.GetEncoding("iso-8859-1"));, и если это не сработало, то я бы пошел за человеком, который создал файл и иголки под их ногти, пока они не признаются, какую кодировку они использовали для созданияэто.

...