2016-04-21 34 views
5

Chciałem dodać fajne postacie do nazwisk i dodać w moim obrazku web.config zdjęcie takiej krowy.Jak zezwolić na znaki Unicode w web.config dla mojej aplikacji MVC?

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

Jednak, kiedy uruchomić aplikację, otrzymuję wyjątek na tej linii w moim _Layout.cshtml dokuczliwy o lokalizacji i takie.

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

Nie jestem pewien, jak sobie z tym poradzić. Najwyraźniej MVC nienawidzi krów, ale co mogę z tym zrobić?

Próbowałem podążać za the suggested syntax zgodnie z standard. Dodałem także UTF-16 at the top pliku konfiguracyjnego.

Odpowiedz

0

Nie ma to nic wspólnego ze znakami Unicode i wszystkim, co ma związek z wychodzeniem XML.

Jak stwierdzono w XML Standard ty związane, XML definiuje tylko 5 standardowych podmioty:

  • < reprezentuje "<";
  • > oznacza ">";
  • & oznacza "&";
  • ' oznacza "" ";
  • " reprezentuje „"”.

Wszystkie inne podmioty (takie jak &#x1f3eb;) nie są ważne w XML, chyba że wyraźnie je zdefiniować.

Jest łatwym sposobem wyjścia z tej sytuacji, choć. problem z tym podmiotem jest to, że zawiera ona ampersanda który nie jest uciekł, co sprawia, że ​​niezgodne z XML. trzeba tylko uciec i wszystko jest w porządku ze światem.

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

teraz twój Aplikacja odbiera ciąg znaków bez zmiany znaczenia: &#x1f3eb; Mr Mooo po pobraniu go z pliku konfiguracyjnego, a następnie można go przekazać do widoku.

0

Spróbuj ustawić kodowanie zarówno w nagłówku, jak iw węźle konfiguracji dla atrybutu system.web- set globalization node "fileEncoding" dla 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. Niestety - ostatnio pisałem z mojego tabletu, więc trudno było napisać przykład.

+0

Nie jestem pewien, czy rozumiem poprawnie. Przez nagłówek masz na myśli najwyższą linię w * web.config *, prawda? Ale ten drugi? Chciałbym zobaczyć małą próbkę w odpowiedzi. –

+0

Dla przypomnienia - nie obniżyłem tego. I chętnie udzielę ci +1, jeśli zasugerujesz próbkę. –