#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); Должно помочь.
Комментариев нет:
Отправить комментарий