2017-08-04 68 views
1

我在MVC .net核心网站上有一个非常简单的视图。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> 

一切工作的替代然而o和¡符号薄荷,它显示了这个角色:

从来没有发生过这样对我,这是我的第一个.NET的核心工程。

O寻找可能的解决方案herehere和其他类似。但没有一个完全符合我的环境。

我尝试了第二个链接,但我遇到了一些问题。

  • 到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方法来确定它是否可以提供 所请求的编码。

我甚至不确定这是解决这个问题的正确方法。我也红色的脚手架视图文件在哪里建立一个编码不同于手动创建的文件。我应该创建新的空白视图文件并将文本复制到新的文件中吗?

回答

1

然而,这里有很多答案,没有一个对我来说足够简单。他们通过注册错误来注册编码对象,而不是定义在网站上。但是,我这样做是这样做的:

只需在记事本++或任何其他有能力的文本编辑器中打开视图文件。检查它是用ANSI编码的,并将其转换为UTF-8。

运行你的应用程序,一切都将顺利进行。