.net Core 中文等非英文文字html输出编码输出问题
@Html.Raw("首页") 所有字符这样输出就能正常显示,但要输出的地方太多,非html格式不太可能都这么输出一下吧
在 Startup.cs 的 ConfigureServices() 方法中添加下面的一行代码可解决这个问题:
services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
针对这个问题写了篇博文:依赖注入的威力,.NET Core的魅力:解决MVC视图中的中文被html编码的问题
今天发现了更好的解决方法:
services.Configure<WebEncoderOptions>(options =>
options.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.BasicLatin,
UnicodeRanges.CjkUnifiedIdeographs));
@dudu: 修改之后依旧有部份字符无法被正确编码