首页 > Web开发 > 详细

.net core中不支持GB2312编码的问题

时间:2018-12-27 16:17:50      阅读:155      评论:0      收藏:0      [点我收藏+]
今天在用core实现读取文件内容时出现了中文乱码的问题,特此记录下。
 
代码如下:
        static void Main(string[] args)
        {
            string path = "F:\\1.txt";
            StreamReader sr = new StreamReader(path, Encoding.Default);
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line.ToString());
            }
            sr.Close();
            Console.ReadLine();
        }

 

txt文件信息如下:
技术分享图片
 技术分享图片

 

执行后读取的信息中文乱码:
技术分享图片
 技术分享图片

 

 
那么默认编码改为“GB2312”编码试试:
        static void Main(string[] args)
        {
            string path = "F:\\1.txt";
            StreamReader sr = new StreamReader(path, Encoding.GetEncoding("GB2312"));
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line.ToString());
            }
            sr.Close();
            Console.ReadLine();
        }

 

 
执行出现异常:
技术分享图片
技术分享图片
‘GB2312‘ is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
“GB2312”不支持编码名称。有关定义自定义编码的信息,请参阅编码文档。RegisterProvider方法。
 
解决办法:
1、下载安装System.Text.Encoding.CodePages。
 
步骤:
右键“依赖项”,点击“管理NuGet程序包”
技术分享图片
 技术分享图片

 

 
在“浏览”搜索System.Text.Encoding.CodePages,选择第一个下载安装。
技术分享图片
 技术分享图片

 

2、 使用“Encoding.RegisterProvider”方法进行注册。
        static void Main(string[] args)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            string path = "F:\\1.txt";
            StreamReader sr = new StreamReader(path, Encoding.GetEncoding("GB2312"));
            String line;
            while ((line = sr.ReadLine()) != null)
            {
                Console.WriteLine(line.ToString());
            }
            sr.Close();
            Console.ReadLine();
        }

 

 
 
最后结果,读取文本信息成功。
技术分享图片
 技术分享图片

 

 
 

.net core中不支持GB2312编码的问题

原文:https://www.cnblogs.com/liuxinghen/p/10185207.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!