You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中Encoding.GetEncoding无法找到windows-1252编码的问题

解决Windows-1252编码找不到的问题

你的问题出在.NET环境的编码默认配置上——从.NET Core开始,为了缩减应用体积,默认只包含ASCII、UTF-8、UTF-16等7种基础编码,像Windows-1252这类非通用编码不会被默认包含,所以直接调用Encoding.GetEncoding(1252)会报错。

解决步骤如下:

  • 第一步:安装System.Text.Encoding.CodePages NuGet包
    可以通过NuGet包管理器搜索安装,或者使用命令行:

    Install-Package System.Text.Encoding.CodePages
    

    如果用.NET CLI:

    dotnet add package System.Text.Encoding.CodePages
    
  • 第二步:在使用编码前注册代码页提供器
    在调用Encoding.GetEncoding之前,先执行代码注册额外编码:

    Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
    // 之后即可正常获取Windows-1252编码
    Encoding win1252 = Encoding.GetEncoding(1252);
    // 也可以通过名称获取
    Encoding win1252 = Encoding.GetEncoding("windows-1252");
    

完成注册后再遍历Encoding.GetEncodings(),就能看到包括Windows-1252在内的更多编码了。

内容的提问来源于stack exchange,提问作者YouQQWhenIQ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 04:12:05