我在一个MVC .net core网站中有一个非常简单的视图。
@model MvcSearch.Models.SearchModel
@{
ViewData["Title"] = "Index";
}
<h2>Buscador de Información</h2>
<div class="row">
@Html.Partial("SearchBox", Model.Search)
<hr />
<div class="container">
<div class="col-md-10">
<div id="results">
@if (Model.Results.Count() == 0)
{
<p>No hay nada que mostrar, ¡busca algo!</p>
}
</div>
</div>
</div>
</div>
一切都运行良好,但是它显示了一个“�”字符,而不是ó和¡符号。
这从未发生过,这是我的第一个.net core项目。
我在这里和这里以及其他类似的地方寻找可能的解决方案。但是没有一个完全适用于我的环境。
我尝试了第二个链接,但是遇到了一些问题。
- 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方法,以确定它是否可以提供所请求的编码。
我甚至不确定这是否是解决此问题的正确方法。我还了解到,脚手架视图文件的编码与手动创建的文件不同。我应该只创建新的空视图文件,并将文本复制到这些新文件中吗?