我在MVC .net核心网站上有一个非常简单的视图。
@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核心项目。
O寻找可能的解决方案here和here以及其他类似解决方案。但没有一个能完全解决我的环境。
我尝试了第二个链接,但是我遇到了一些问题。
我完全明白我必须使用这一行
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
但是在startup.cs中不知道到底在哪里?
调用Encoding.GetEncoding重载以检索编码。该 Encoding.GetEncoding方法会调用相应的 EncodingProvider.GetEncoding方法,以确定它是否可以提供 请求的编码。
我甚至不确定这是解决这个问题的正确方法。我也认为脚手架视图文件的内部编码与手动创建的文件不同。我应该只创建新的空View文件并将文本复制到那些新文件中吗?
答案 0 :(得分:3)
然而,有很多与此相关的答案,对我来说似乎都不够容易。它们的范围从注册错误到在未定义到网站的地方注册编码对象。但是,我通过这样做解决了这个问题:
只需在notepad ++或任何其他有能力的文本编辑器中打开视图文件。检查它是否以ANSI编码,并将其转换为UTF-8。
运行你的应用程序,一切都会顺利进行。