Глюк с кодировкой html кода из webBrowser.DocumentText [C#]
От: deadleaves  
Дата: 26.11.08 06:08
Оценка:
Нужно вывести на richTextBox HTML-исходник странички. HTML-исходник берется как webBrowser1.DocumentText, при выводе на текстбокс вместо русских символов квадратики. Сама страничка в кодировке win-1251. Пробовал конвертить строку в UTF8 — вместо квадратиков вопросики) Сохраняю в файл через StreamWriter — то же самое (пробовал сохранять через File.WriteAllText, задавать разные кодировки при сохранении в файл — без толку). Такое впечатление что уже в самом DocumentText текст искореженый. При этом сама web-страничка на контроле отображается без косяков. Не знаю уже что делать, хоть убейся не работает
Re: Глюк с кодировкой html кода из webBrowser.DocumentText [
От: deadleaves  
Дата: 27.11.08 01:26
Оценка:
Здравствуйте, deadleaves, Вы писали:

D>Нужно вывести на richTextBox HTML-исходник странички. HTML-исходник берется как webBrowser1.DocumentText, при выводе на текстбокс вместо русских символов квадратики. Сама страничка в кодировке win-1251. Пробовал конвертить строку в UTF8 — вместо квадратиков вопросики) Сохраняю в файл через StreamWriter — то же самое (пробовал сохранять через File.WriteAllText, задавать разные кодировки при сохранении в файл — без толку). Такое впечатление что уже в самом DocumentText текст искореженый. При этом сама web-страничка на контроле отображается без косяков. Не знаю уже что делать, хоть убейся не работает


Разобрался все-таки сам, на случай, если кто-то еще будет мучаться с подобными проблемами вот правильный код:

Encoding enc = Encoding.GetEncoding("windows-1251");
public string HTMLText;

Stream stream = webBrowser1.DocumentStream;
StreamReader sr = new StreamReader(stream, enc);
HTMLText = sr.ReadToEnd();
stream.Close();

и далее выводим HTMLText куда надо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.