ASP.NET迁移至ASP.NET Core后JSON Unicode编码变更,如何配置修复?
ASP.NET Core 配置JSON Unicode编码为十进制格式
迁移到ASP.NET Core后,JSON端点输出的Unicode字符编码从十进制转为十六进制的问题,可以通过在Program.cs中配置JsonSerializerOptions的编码器来解决,具体设置如下:
- 在注册Controllers服务时,添加
AddJsonOptions配置项,指定编码器的Unicode编码方式为十进制:
builder.Services.AddControllers() .AddJsonOptions(options => { options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create( UnicodeRanges.All, new JavaScriptEncoderSettings { UnicodeEncoding = UnicodeEncoding.Decimal }); });
配置后,非ASCII字符(比如£)会以十进制HTML实体编码(£)的形式输出,和原ASP.NET的行为保持一致。
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

