MVC .net核心没有正确显示特殊字符
我在MVC .net核心网站上有一个非常简单的视图。
@model MvcSearch.Models.SearchModel @{ ViewData["Title"] = "Index"; } Buscador de Información
@Html.Partial("SearchBox", Model.Search)
@if (Model.Results.Count() == 0) { No hay nada que mostrar, ¡busca algo!
}
一切都是薄荷,但不是ó和¡符号,它显示了这个角色:
以前从未发生过这件事,这是我的第一个.net核心项目。
O寻找可能的解决方案, 这里和其他类似的解决方案。 但没有一个完全解决我的环境。
我尝试了第二个链接,但我遇到了一些问题。
- 对System.Text.Encoding(4.3.0)和System.Text.Encoding.CodePages(4.3.0)的引用都标有警告图标,但在使用Nuget Package Manager安装期间均未显示错误或警告
-
我完全明白我必须使用这一行
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
但是在startup.cs中不知道到底在哪里?
- 我不知道这意味着什么
调用Encoding.GetEncoding重载以检索编码。 Encoding.GetEncoding方法将调用相应的EncodingProvider.GetEncoding方法来确定它是否可以提供所请求的编码。
我甚至不确定这是解决这个问题的正确方法。 我也认为脚手架视图文件的内部编码与手动创建的文件不同。 我应该创建新的空View文件并将文本复制到新文件中吗?
然而,这里有很多答案,对我来说似乎都不够容易。 他们从注册错误到注册未定义到网站的编码对象。 但是,我通过这样做来解决这个问题:
只需在notepad ++或任何其他有能力的文本编辑器中打开视图文件。 检查它是否以ANSI编码,并将其转换为UTF-8。
运行你的应用程序,一切都会顺利进行。