显示不全,.Net Core项目 Encoding不全问题

 2023-09-28 阅读 23 评论 0

摘要:问题描述:新建.Net Core项目,出现System.NotSupportedException:“No data is available for encoding 1252(或Shift-JIS、GB2312). For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider m

问题描述:新建.Net Core项目,出现System.NotSupportedException:“No data is available for encoding 1252(或Shift-JIS、GB2312). For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.”

显示不全、检测:

1 EncodingInfo [] encodings= Encoding.GetEncodings();
2 foreach (var i in encodings)
3 {
4       Console.WriteLine(i.CodePage+" "+i.DisplayName);
5 }

该项目显示结果:

解决办法: 

慢性心不全,  异常信息中提到了Encodeing.RegisterProvider,.NET Core 在默认情况下是没有注册EncodeProvider,需要我们们手动自己去注册。

  在NuGet包添加System.Text.Encoding.CodePages

 1 using System;
 2 using System.Text;
 3 
 4 namespace FastDBF_Core_test
 5 {
 6     class Program
 7     {
 8         static void Main(string[] args)
 9         {
10             Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
11             Encoding encoding1 = Encoding.GetEncoding(1252);
12             Console.WriteLine(encoding1.WebName);
13             Encoding encoding2 = Encoding.GetEncoding("GB2312");
14             Console.WriteLine(encoding2.WebName);
15             Console.ReadKey();
16         }
17     }
18 }

输出:

net core和net framework的区别、参考:https://www.cnblogs.com/Redefine/p/6877580.html

 

转载于:https://www.cnblogs.com/liuz646-blog/p/9993844.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/102484.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息