3

我在ASP.NET MVC項目中遇到了一些奇怪的編碼行爲。編碼字符

在我的Site.Master有

<div class="logo"> 
     <a href="<%=Url.Action("Index", "Win7")%>"><%= Html.Encode("Windows 7 Tutoriál") %></a></div> 

其轉化爲結果頁面作爲

<div class="logo"> 
     <a href="/">Windows 7 Tutoriál</a></div> 

然而,在Index.aspx的有

<h1> 
    Windows 7 Tutoriál</h1> 

它轉換正確地在相同的結果頁面上。 我有

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

如我在<head>第一線。在本地,這兩個文件都以UTF-8編碼保存。

任何想法爲什麼會發生這種情況,以及如何解決它?

在此先感謝。

+0

當你將文本輸出到'h1'時,你正在調用'Html.Encode'嗎? – 2010-06-18 14:40:58

+0

您的頁面/主頁面在服務器端運行什麼編碼?如果字符串是不變的「Windows 7Tutoriál」,你真的需要'Server.HtmlEncode()'嗎? – 2010-06-18 14:42:58

+0

不,我不是在其他文本上調用Html.Encode,所以當初我沒有在第一個文檔上調用它,但出於絕望,我嘗試了它。無論我如何應用Encode方法,都沒有改變。 – Trimack 2010-06-18 14:45:28

回答

1

Ehm,我剛剛發現,這兩個文件確實是UTF-8,但是,其中一個使用帶簽名的版本,而另一個沒有。我想知道VS何時決定改變這些。無論如何感謝評論員。