MVC .net core不能正确显示特殊字符

3

我在一个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方法,以确定它是否可以提供所请求的编码。
我甚至不确定这是否是解决此问题的正确方法。我还了解到,脚手架视图文件的编码与手动创建的文件不同。我应该只创建新的空视图文件,并将文本复制到这些新文件中吗?
1个回答

6

然而,与此相关的许多答案似乎都不够简单。它们包括在未定义的网站中注册错误和编码对象。但是,我通过以下方式解决了这个问题:

只需在Notepad++或其他能力强的文本编辑器中打开视图文件。检查它是否以ANSI编码,并将其转换为UTF-8。

运行你的应用程序,一切都会很顺利。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接