2017-08-04 99 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。

運行你的應用程序,一切都將順利進行。