Выпуск сборки 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 -> Дополнительные поддерживаемые кодировки: "Ближний Восток"