zoukankan      html  css  js  c++  java
  • .net core中使用GB2312编码的问题

    最近在用.net core写一个爬虫抓取网页上的数据,碰到了网页编码是GBK的页面,抓取的数据都是乱码,当使用Encoding.GetEncoding(“GBK”)的时候抛出了异常:

    'GBK' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
    Parameter name: name

    当改用GB2312的时候也抛出了同样的异常:

    'GB2312' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
    Parameter name: name

    从异常上来看是不支持GB2312和GBK。而且提到了需要注册EncodingProvider的方法。CodePagesEncodingProvider定义在NuGet包“System.Text.Encoding.CodePages”之中。所以我们就需要添加System.Text.Encoding.CodePages的依赖。然后在Project.json中添加

    {
    "dependencies": { "System.Text.Encoding.CodePages": "4.0.1-rc2-24027" }
    }

    在代码中还需要添加Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);如图:

    再次启动就可以可以使用GB2312

    转载:https://www.cnblogs.com/liemei/p/7884172.html

    本文来自博客园,作者:.net&new,转载请注明原文链接:https://www.cnblogs.com/wugh8726254/p/15302391.html

  • 相关阅读:
    SpringBoot的缓存
    jsp标签指定id区域内容显示和隐藏
    Linux awk统计日志中出现过的IP(或出现次数最多的N个IP)
    回文数
    算法z形字符串
    最长回文字符串
    redis与Mysql数据同步
    算法(1)
    滑动窗口算法
    HTTP长连接和短连接
  • 原文地址:https://www.cnblogs.com/wugh8726254/p/15302391.html
Copyright © 2011-2022 走看看