using cliente.DownloadString (url);дать странные квадратные символы c # .net 3.5 - PullRequest
0 голосов
/ 13 сентября 2011

Я использую веб-клиент для получения исходного HTML-кода с веб-сайтов и помещаю HTML в текстовое поле

но по какой-то причине в текстовом поле я получаю странный символ

      using (WebClient cliente = new WebClient())
            {
                textbox.Text = cliente.DownloadString(url);
            }

Я использую c # .net 3.5

http://imageshack.us/photo/my-images/691/weirdssymbols.jpg/

Ответы [ 2 ]

0 голосов
/ 13 сентября 2011

Я думаю, что это проблема, связанная с кодированием. Ваша строка utf-8 закодирована?

Вам необходимо установить кодировку веб-клиента, равную завершению веб-страницы (если вы управляете страницей, установите ее в utf-8, это лучшее решение).

http://msdn.microsoft.com/en-us/library/system.net.webclient.encoding%28v=vs.80%29.aspx

Тогда, я думаю, вы больше не получите плохие квадраты, однако я не знаю кодировку, используемую текстовыми полями, это может быть проблемой (я снова предполагаю, что они используют utf-8, не знаю, можно ли их настраивать) ).

EDIT:

Не видел ваш комментарий, да, определенно, я думаю, что эти квадраты являются \ r \ n символами, которые (возможно) написаны на странице с кодировкой, отличной от uft-8 (так что это не ваша ошибка, но это проблема созданный разработчиком веб-страницы).

& sharp нельзя преобразовать, вы должны заменить на string.replace то, что вам нужно (& sharp используется html для отображения некоторых специальных символов)

0 голосов
/ 13 сентября 2011

Это представления непечатаемых символов новой строки.

Попробуйте

 textBox.Multiline = true; 
 using (WebClient cliente = new WebClient())
 {
      textbox.Text = cliente.DownloadString(url);
 }
...