【问题标题】:preserve ascii in cshtml template在 cshtml 模板中保留 ascii
【发布时间】:2012-10-10 12:31:19
【问题描述】:

我想显示这样的特殊字符: █

如果我把它放在一个 .cshtml 文件中,它会通过编码/解码搞砸。 我怎样才能保持我的性格?

我已经尝试了以下方法:

@Html.Raw("█")
@("█")
@Html.Raw(Server.HtmlEncode("█"))

【问题讨论】:

  • 你声明了什么字符集?
  • UTF8 是自动添加的 - 我应该尝试声明女巫字符集吗?此文件minimum.apphb.com/readme.txt 也使用 UTF8(通过 chrome 猜测并完美显示!)

标签: razor webmatrix asp.net-webpages


【解决方案1】:

您可以使用它的 HTML 实体:

(十进制)█

(十六进制)█

【讨论】:

  • 真的!但是为什么我可以将字符粘贴到 .txt 中并显示,但如果我将其粘贴到 .cshtml 中,它会被搞砸?
  • 这更有可能是 WebMatrix 问题,而不是 Razor 或 ASP.NET 网页的限制。如果您愿意,可以在记事本中创建 .cshtml 文件。您还应该考虑用户代理的行为方式。最好使用 HTML 实体。
  • 我没有使用 WebMatrix,所以这部分没有错误。但我想在我的源文件中使用这些字符构建框,而不是使用 HTML 实体 brucejohnson.ca/SpecialCharacters.html#lines
  • Erm - 你标记了 WebMatrix。但我刚刚测试过,我可以将你的代码复制粘贴到 WebMatrix 中,所以也许你应该使用它。
  • 这个 github 页面 github.com/PeterDeKeer/peterdekeer/blob/master/index.cshtml 自动部署到 appharbor minimum.apphb.com 。我仍然看到一个“块”,即使用 HTML 实体的表单
【解决方案2】:

刚刚解决了我的问题:文件本身没有用UTF8+BOM编码!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多