我在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以及其他类似的解决方案。但是,没有一个能完全解决我的环境问题。
我尝试了第二个链接,但是有一些问题。
对System.Text.Encoding(4.3.0)和System.Text.Encoding.CodePages(4.3.0)的引用都标有警告图标,但是在使用Nuget软件包管理器进行安装期间均未显示错误或警告
我很明白我必须用这条线
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
但是不知道在startup.cs中到底在哪里?
我也不知道这是什么意思
调用Encoding.GetEncoding重载以检索编码。的
Encoding.GetEncoding方法将调用相应的
EncodingProvider.GetEncoding方法确定是否可以提供
请求的编码。
我什至不确定这是否是解决此问题的正确方法。我还认为,脚手架视图文件的内置编码与手动创建的文件不同。我应该只创建新的空View文件并将文本复制到这些新文件中吗?
最佳答案
但是,与此相关的答案很多,但对于我来说,这些答案似乎都不容易。从注册错误到注册未定义到网站的编码对象,范围很广。但是,我通过执行以下操作解决了这个问题:
只需在notepad ++或任何其他支持的文本编辑器中打开视图文件即可。检查它是否以ANSI编码,并将其转换为UTF-8。
运行您的应用程序,一切将顺利进行。
关于c# - MVC .net核心未正确显示特殊字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45512883/