如何允许我的 MVC 应用程序的 web.config 中的 unicode 字符
本文关键字:config 中的 unicode 字符 web 何允许 我的 MVC 应用程序 | 更新日期: 2024-10-31 00:36:50
我想在名字中添加一些很酷的字符,并在我的web.config中添加了一头牛的图片,就像这样。
<add key="SenderName" value="🏫 Mr Mooo"/>
但是,当我启动应用程序时,我在 _Layout.cshtml 中的这一行上遇到了一个异常,唠叨着本地化等。
@Styles.Render("~/Content/css")
我不确定如何处理这个问题。显然,MVC 讨厌奶牛,但我能做些什么呢?
我试图根据标准遵循建议的语法。我还在配置文件的顶部添加了 UTF-16。
这与 Unicode 字符完全无关,而与 XML 转义有关。
如您链接到的 XML 标准中所述,XML 仅定义了 5 个标准实体:
-
<
代表<
-
>
代表>
-
&
代表&
-
'
代表'
-
"
代表"
所有其他实体(如 🏫
)在 XML 中无效,除非您显式定义它们。
不过,有一个简单的方法可以摆脱这种情况。此实体的问题在于它包含一个未转义的 & 符号,这使得它与 XML 不兼容。你只需要逃离它,世界一切都很好。
<add key="SenderName" value="&#x1f3eb; Mr Mooo"/>
现在,应用程序将收到所需的未转义字符串:🏫 Mr Mooo
从配置文件中检索它时,然后可以将其传递给视图。
尝试在 system.web-set 全球化节点"fileEncoding"属性的标头和配置节点中设置 utf-16 的编码。
<?xml version="1.0" encoding="utf-16"?>
<configuration>
<system.web>
<globalization fileEncoding="utf-16" requestEncoding="utf-16" responseEncoding="utf-16"/>
</system.web>
</configuration>
附言对不起 - 上次我从平板电脑打字时,很难写一个例子。