分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

.Net Core项目 Encoding不全问题

发布时间:2023-09-06 02:23责任编辑:董明明关键词:暂无标签

问题描述:新建.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 }

输出:

参考:https://www.cnblogs.com/Redefine/p/6877580.html

.Net Core项目 Encoding不全问题

原文地址:https://www.cnblogs.com/liuz646-blog/p/9993844.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved