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