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

使用ConfigurationBuilder读取appsettings.json时重音字符乱码问题

解决ConfigurationBuilder读取JSON配置的编码乱码问题

问题根源

出现P�le emploi这类乱码,核心是JSON文件编码与读取时使用的编码不匹配。默认情况下AddJsonFile会按UTF-8编码解析文件,但如果你的appsettings.json是用其他编码(比如ANSI)保存的,特殊字符就会解析出错。

解决步骤

1. 修正JSON文件的编码格式

右键appsettings.json文件 → 用记事本打开 → 点击「文件」→「另存为」,在编码下拉菜单选择「UTF-8」,覆盖原文件保存。

2. 代码中显式指定读取编码

修改AddJsonFile方法,添加编码参数强制指定UTF-8读取:

var builder = new ConfigurationBuilder()
    .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
    .AddJsonFile(Path.Combine(Helper.jsonpath, "appsettings.json"), 
                 optional: false, 
                 reloadOnChange: false,
                 encoding: System.Text.Encoding.UTF8); // 显式指定UTF-8编码
Helper.config = builder.Build();

验证效果

修改后重新读取配置,三种方式都能正确获取Pôle emploi:

var tt = Helper.config.GetSection("partooApi:types:APE").GetValue<string>("title");
var ttt = Helper.config["partooApi:types:APE:title"];
var tttt = Helper.config.GetSection("partooApi:types:APE:title").Get<string>();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:40:49