编码一个字符

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编码中。
有什么想法为什么会发生这种情况以及如何解决它吗?
提前致谢。

当您将文本输出到 h1 时,是否调用了 Html.Encode - Nate Pinchot
你的页面/母版页在服务器端运行的编码是什么?如果字符串是常量“Windows 7 Tutoriál”,你真的需要使用Server.HtmlEncode()吗? - Tomas Aschan
不,我没有在其他文本上调用Html.Encode,所以我最初也没有在第一个文本上调用它,但出于绝望,我尝试了一下。无论我如何应用Encode方法,都没有任何变化。 - Trimack
1个回答

1
嗯,我刚刚发现,这两个文件都是UTF-8编码,但其中一个带有签名版本,而另一个没有。我想知道VS何时决定更改这些内容。无论如何,感谢评论者的帮助。

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