如何在我的MVC应用程序的web.config中允许unicode字符?

Kon*_*ten 5 c# unicode asp.net-mvc web-config razor

我想在名称中添加一些很酷的字符,并在我的web.config中添加一张牛的照片,就像这样.

<add key="SenderName" value="&#x1f3eb; Mr Mooo"/>
Run Code Online (Sandbox Code Playgroud)

但是,当我启动应用程序时,在我的_Layout.cshtml中,我在这一行上得到了一个异常,关于本地化等等.

@Styles.Render("~/Content/css")
Run Code Online (Sandbox Code Playgroud)

我不知道如何处理这个问题.显然,MVC讨厌奶牛但我能做些什么呢?

我试图按照建议的语法,根据标准.我还在配置文件的顶部添加了UTF-16.

Nig*_*888 2

这与 Unicode 字符完全无关,而与 XML 转义有关。

正如您链接到的XML 标准中所述,XML 仅定义了 5 个标准实体:

  • &lt;代表<
  • &gt;代表>
  • &amp;代表&
  • &apos;代表'
  • &quot;代表"

所有其他实体(例如&#x1f3eb;)在 XML 中均无效,除非您显式定义它们。

不过,有一个简单的方法可以摆脱这种情况。该实体的问题在于它包含未转义的 & 符号,这使得它与 XML 不兼容。你只需要逃避它,世界就会一切正常。

<add key="SenderName" value="&amp;#x1f3eb; Mr Mooo"/>
Run Code Online (Sandbox Code Playgroud)

现在,您的应用程序将收到您想要的未转义字符串:&#x1f3eb; Mr Mooo当您从配置文件中检索它时,您可以将其传递到视图。