浏览器中未正确呈现特殊html字符

浏览器中未正确呈现特殊html字符,html,xhtml,browser,asp.net-mvc-2,htmlspecialchars,Html,Xhtml,Browser,Asp.net Mvc 2,Htmlspecialchars,我将XHTML片段作为文本存储在搜索索引中。一旦用户提交了搜索请求,我就在页面中插入此文本并将其返回到服务器。除非文本中有符号(如版权符号©),否则这一切都可以正常工作。该符号在浏览器中没有正确表示,它显示为实体编号(©;对于版权符号©而不是显示为符号 如果我将XHTML复制并粘贴到一个静态网页中,并在浏览器中查看它,符号就会正确呈现 当我查看源代码时,我在上述两种情况下看到相同的文本字符串 你能告诉我发生了什么事,我该怎么解决吗 我正在使用ASP.NET MVC 2并使用以下代码在.a

我将XHTML片段作为文本存储在搜索索引中。一旦用户提交了搜索请求,我就在页面中插入此文本并将其返回到服务器。除非文本中有符号(如版权符号©),否则这一切都可以正常工作。该符号在浏览器中没有正确表示,它显示为实体编号(©;对于版权符号©而不是显示为符号

如果我将XHTML复制并粘贴到一个静态网页中,并在浏览器中查看它,符号就会正确呈现

当我查看源代码时,我在上述两种情况下看到相同的文本字符串

你能告诉我发生了什么事,我该怎么解决吗

我正在使用ASP.NET MVC 2并使用以下代码在.ascx页面中添加XHTML,其中我的模型是一个字符串集合,每个字符串包含一段XHTML:

<%foreach(string s in ViewData.Model)  {%>
  <%= s %>
  <%} %>   
<%


您需要对字符串进行html编码,以便正确呈现它们:

<%= Html.Encode(s) %>

或者,如果您使用的是ASP.NET 4,则可以利用新的快捷方式:

<%: s %>

您需要对输入内容进行html编码,这样copyrigth符号才是真正的©或©符号
这将以html编码的形式输出,或者您可以进行html解码!!!!将其恢复到原始状态

谢谢,但这不是我想要做的。我想要呈现html,而不是呈现html的文本表示。除了这些特殊字符,我的html呈现良好。lol应该是 6 9;(作为一个字符串,但您知道它的html编码是什么吗?谢谢!要让浏览器显示&;#169;而不是&;#169;而不带空格,请键入以下内容:&;#169;html编码没有输入。所有这些都来自我的服务器。所有显示都正确,(xhtml被正确呈现——即html元素被呈现),除了符号。谢谢!