استفاده از رمزگذاریهای متنی قدیمی در داتنتکور: خلاصه جامع
نویسنده: وحید نصیری
تاریخ: ۱۴۰۳/۱۲/۱۵ ۰۹:۲۶
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
System.NotSupportedException: No data is available for encoding 1252 که هنگام ارتقاء یک برنامه داتنت، به داتنت کور با آن مواجه میشویم، میپردازد. این خطا به این دلیل رخ میدهد که داتنت کور به طور پیشفرض از رمزگذاریهای قدیمی مانند ویندوز-۱۲۵۲ (Windows-1252) پشتیبانی نمیکند.System.Text.Encoding.CodePages: از دستور dotnet add package System.Text.Encoding.CodePages در کنسول مدیریت بسته (Package Manager Console) استفاده کنید.CodePagesEncodingProvider: کد Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); را به کد راهاندازی برنامه اضافه کنید.using System.Text;Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);Encoding windows1252Encoding = Encoding.GetEncoding(1252);Encoding windows1252Encoding = Encoding.GetEncoding(1252);byte[] encodedBytes = windows1252Encoding.GetBytes("String to encode");System.NotSupportedException جلوگیری میکند.