#c_sharp #encoding #net_core
Всем привет. Столкнулся с проблемой: нужно отправлять сообщение на почтовый ящик
в кодировке 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 и прочих.
Ответы
Ответ 1
Просто подключите в проект NuGet-пакет с расширенными кодировками: System.Text.Encoding.CodePages И перед использованием зарегистрируйте их: Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); Должно помочь.
Комментариев нет:
Отправить комментарий