2016-04-21 28 views
5

我想给名字添加一些很酷的字符,并在我的web.config中添加了一张奶牛图片,就像这样。如何在我的MVC应用程序的web.config中允许unicode字符?

<add key="SenderName" value="&#x1f3eb; Mr Mooo"/> 

然而,当我启动应用程序,我就在这行我_Layout.cshtml唠叨本地化和这样的例外。

@Styles.Render("~/Content/css") 

我不知道该如何处理。显然,MVC讨厌奶牛,但我能做些什么呢?

我试着按the suggested syntax根据standard。我还添加了配置文件的UTF-16 at the top

回答

0

这与Unicode字符以及与XML转义有关的一切完全没有关系。

正如你链接到XML Standard说,XML只定义了5个标准实体:

  • <代表 “<”;
  • >代表“>”;
  • &代表“&”;
  • '代表“'”;
  • "代表'“。

所有其他实体(如&#x1f3eb;)不在XML有效的,除非你明确地定义它们。

有一个简单的方法摆脱这种局面,虽然。这个实体的问题是,它包含未逃脱的符号,这使得它与XML不兼容。你只需要逃避它,一切是正确的与世界同步。

<add key="SenderName" value="&amp;#x1f3eb; Mr Mooo"/> 

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

0

尝试在头文件和配置节点中为system.web集全球化节点“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> 

P.S.对不起 - 上次我从平板电脑上打字时,很难写出一个例子。

+0

不知道我是否理解正确。通过标题,你的意思是* web.config *中的最上面一行,对吧?但另一个呢?我很想在答案中看到一个小样本。 –

+0

为了记录 - 我没有downvoted这个。如果您提供样品,我会很乐意为您+1。 –

相关问题