我想在名称中添加一些很酷的字符,并在我的 web.config 中添加一张奶牛的照片,就像这样。
<add key="SenderName" value="🏫 Mr Mooo"/>
但是,当我启动应用程序时,我在 _Layout.cshtml 中对此行提出了一个例外,其中涉及到本地化等问题。
@Styles.Render("~/Content/css")
我不确定如何处理这件事。显然,MVC讨厌奶牛,但我该怎么办呢?
我已根据the suggested syntax尝试关注standard。我还添加了配置文件的UTF-16 at the top。
答案 0 :(得分:1)
尝试在头文件和配置节点中为system.web设置全球化节点&#34; fileEncoding&#34;属性为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>
P.S。对不起 - 我上次从平板电脑打字时很难写出一个例子。
答案 1 :(得分:1)
这与Unicode字符以及与XML转义有关的一切都没有任何关系。
如您所链接的XML Standard中所述,XML仅定义了5个标准实体:
<
代表<
>
代表>
&
代表&
'
代表'
"
代表"
除非您明确定义它们,否则所有其他实体(例如🏫
)在XML中无效。
但是,有一种简单的方法可以解决这种情况。这个实体的问题是它包含一个未转义的&符号,这使得它与XML不兼容。你只需要逃避它,一切都与世界是对的。
<add key="SenderName" value="&#x1f3eb; Mr Mooo"/>
现在,您的应用程序将从配置文件中检索到您想要的非转义字符串:🏫 Mr Mooo
,然后您可以将其传递给视图。