2016-04-21 50 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。 –

相關問題