2013-11-21 94 views
5

渲染視圖時,遇到編碼問題,即unicode字符顯示不正確。如何強制ASP.NET MVC讀取.cshtml文件爲UTF-8?

根據an answer to an unrelated question

如果遇到編碼與輸出的問題,嘗試保存您的看法.aspx文件作爲 '的Unicode UTF-8簽名'。

確實,我的意見被保存爲UTF-8沒有簽名;將它們保存爲帶簽名的UTF-8解決了這個問題。

有沒有一種方法可以指定ASP.NET MVC它應該每次都使用UTF-8,以便能夠在沒有簽名的情況下爲新存儲的視圖使用UTF-8?

回答

13

嘗試:

<system.web> 
    <globalization fileEncoding="utf-8" /> 
</system.web> 

不要忘記保存您的源文件中的UTF-8也是如此。

1

我相信編碼不是MVC的責任,而是IIS。你的web.config中有這行嗎?

<globalization requestEncoding="utf-8" responseEncoding="utf-8" /> 
+1

該問題發生在IIS之前,因爲編碼在我從視圖生成的HTML字符串中已經出錯。 –