Получать?в качестве замены символов æ, ø, å, é и т. д. даже при настройке кодировки UTF8 - PullRequest
0 голосов
/ 29 мая 2018

У меня есть следующий фрагмент кода, где я загружаю html-страницу.

Я попробовал несколько вариантов, где я устанавливаю кодировку UTF8 после загрузки строки aswell.Что я делаю не так?

using (WebClient webClient = new WebClient())
{
    webClient.Encoding = Encoding.UTF8;
    var page = webClient.DownloadString("http://replacementurl.com");
}

1 Ответ

0 голосов
/ 29 мая 2018

Вам необходимо проверить кодовую страницу

В соответствии с документацией кодирование позволяет установить кодовую страницу .Но для меня это возвращает и исключение.

Это работает для меня:

Encoding enc = new UTF8Encoding(true, true);
string value = "\u00C6 \u00D8 \u00C0 \u00C1 \u00C2";

try
{
    byte[] bytes = enc.GetBytes(value);
    foreach (var byt in bytes)
        Debug.Write(String.Format("{0:X2} ", byt));
    Debug.WriteLine("");

    string value2 = enc.GetString(bytes);
    Debug.WriteLine(value2);
}
catch (EncoderFallbackException e)
{
    Debug.WriteLine("Unable to encode {0} at index {1}",
                        e.IsUnknownSurrogate() ?
                            String.Format("U+{0:X4} U+{1:X4}",
                                        Convert.ToUInt16(e.CharUnknownHigh),
                                        Convert.ToUInt16(e.CharUnknownLow)) :
                            String.Format("U+{0:X4}",
                                        Convert.ToUInt16(e.CharUnknown)),
                        e.Index);
}

Похоже, вы не можете назначить кодовую страницу.Одд.

...