Страницы

Поиск по вопросам

воскресенье, 7 июля 2019 г.

.NET Core 2.0 Encoding.GetEncoding

Всем привет. Столкнулся с проблемой: нужно отправлять сообщение на почтовый ящик в кодировке koi8-u(21866). Использую пакет System.Text.Encoding.CodePages
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); MailAddress fr = new MailAddress("***@**.com", "Name"); MailAddress to = new MailAddress("***@**.com"); MailMessage m = new MailMessage(fr, to) { Body = "test", BodyEncoding = Encoding.GetEncoding("koi8-u") }; await smtp.SendMailAsync(m);
Но при отправке получаю: No data is available for encoding 21866. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
В обычном .NET Framework-е все отлично отправляется, в .NET Core увы. Как можно решить это?
P.S: такая же ситуация и для windows-1252 и прочих.


Ответ

Просто подключите в проект NuGet-пакет с расширенными кодировками:
System.Text.Encoding.CodePages
И перед использованием зарегистрируйте их:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Должно помочь.

Комментариев нет:

Отправить комментарий