WebClient. DownloadString () возвращает строку со специфическими символами

У меня проблема с некоторым контентом, который мы загружаем из Интернета для созданного мной инструмента очистки экрана.

В приведенном ниже коде строка, возвращаемая методом строки загрузки веб-клиента, возвращает некоторые нечетные символы для исходной загрузки для нескольких (не всех) веб-сайтов.

Недавно я добавил заголовки http, как показано ниже. Раньше тот же код вызывался без заголовков с тем же эффектом. Я не пробовал варианты заголовка 'Accept-Charset', я мало знаю о кодировке текста, кроме основ.

Символы, или последовательности символов, о которых я говорю:

« ï» ¿ «

и

« Â »

Эти символы не видны, когда вы используете «просмотреть исходный код» в веб-браузере. Что могло быть причиной этого и как исправить проблему?

string urlData = String.Empty;
WebClient wc = new WebClient();

// Add headers to impersonate a web browser. Some web sites 
// will not respond correctly without these headers
wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12");
wc.Headers.Add("Accept", "*/*");
wc.Headers.Add("Accept-Language", "en-gb,en;q=0.5");
wc.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");

urlData = wc.DownloadString(uri);
62
задан Konamiman 5 May 2015 в 10:19
поделиться