Выпуск сборки GetEncoding("ISO-8859-8") выдает ошибку "Кодировка 28598 данных не найдена"

Почему эта линияGetEncoding("ISO-8859-8").GetBytes(text); поднять это исключение: Encoding 28598 data could not be found. Make sure you have correct international codeset assembly installed and enabled.

Но только в релизной сборке?? (Xamarin Forms работает под управлением сборки Android).

И как я могу обойти это. Это код, основанный на этом вопросе, и вот моя функция (которая находится в библиотеке PCL):

    public static string RemoveDiacritics(this string text)
    {
        if (text == null)
            return string.Empty;

        byte[] tempBytes;
        tempBytes = System.Text.Encoding.GetEncoding("ISO-8859-8").GetBytes(text);
        string asciiStr = System.Text.Encoding.UTF8.GetString(tempBytes, 0, tempBytes.Length);

        return asciiStr;
    }
}

1 ответ

Я решил эту проблему, выбрав Mideast в разделе Свойства проекта: Свойства проекта -> Параметры Android -> Дополнительные поддерживаемые кодировки: "Ближний Восток"

Посмотреть изображение

Другие вопросы по тегам