Страницы

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

пятница, 3 января 2020 г.

.NET Core 2.0 Encoding.GetEncoding

#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); Должно помочь.

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

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