首先,要知道.Net Core和.Net Framework两个环境下不少东西是不一样的,接下来要说的这个就是其中一个。api
Encoding.Default,在 .NET Framework 中,Default属性始终获取系统的活动代码页,并建立对应于它的 Encoding对象。ide
而在 .NET Core 中,Default属性始终返回UTF8Encoding。编码
因此关于读取文件乱码的问题,百度上有不少方案,都是在.NET Framework中有效,而在 .NET Core 中没有任何效果甚至报错。文档
.NET Framework 中默认编码是GB2312,而在 .NET Core 中不支持,若想使用必须得先注册编码法get
下面直接贴出代码乱码
//注册编码百度
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);coding
//读取文件数据数据
StreamReader SRFile = new StreamReader("读取文件路径", Encoding.GetEncoding("GB2312"));