【问题标题】:Escaping inserted characters in Razor View with MvcHtmlString使用 MvcHtmlString 在 Razor 视图中转义插入的字符
【发布时间】:2015-05-29 03:35:52
【问题描述】:

以下代码用于将 html 插入 Razor 视图。

在页面中呈现时,空格、撇号和其他字符会呈现为正方形。

  @{

    string s = @Model.InnerHtml;

}
@MvcHtmlString.Create(s);

渲染示例: May�s meeting will highlight two speakers.�

我可以做些什么来确保所有字符都转换为正确可读的字符?

感谢您的帮助。

【问题讨论】:

  • 这不是“转义”问题,而是字符编码问题。很有可能,无论您从中加载文本,都使用的字符编码与您的网页告诉浏览器使用的字符编码不同。见en.wikipedia.org/wiki/Character_encodings_in_HTML
  • 是的,就是这样 - 谢谢。我将源 HTML(来自 MS Word)更改为将 html 编码为 UTF-8 现在可以正确呈现。
  • 我会将其添加为答案,以便您接受。

标签: asp.net-mvc razor


【解决方案1】:

这不是“转义”问题,而是字符编码问题。很有可能,无论您从哪里加载文本,都没有使用与网页告诉浏览器使用的字符编码相同的字符编码。

例如,如果浏览器使用 UTF-8,那么您应该确保使用 UTF-8 编码保存源内容。

http://en.wikipedia.org/wiki/Character_encodings_in_HTML

【讨论】:

    猜你喜欢
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 2016-02-22
    相关资源
    最近更新 更多