В нашем проекте MVC3 ASP.net метод HttpUtility.HtmlEncode, по-видимому, экранирует слишком много символов.Наши веб-страницы обслуживаются как страницы UTF-8, но метод по-прежнему экранирует такие символы, как ü или символ иены ¥, хотя эти символы являются частью набора UTF-8 .
Поэтому, когда мое представление asp.net MVC содержит следующий фрагмент кода:
@("<strong>ümlaut</strong>")
Тогда я ожидал бы, что кодировщик экранирует теги html, но не ümlaut
<strong>ümlaut</strong>
Но вместо этого он дает мне следующий фрагмент HTML:
<strong>ümlaut</strong>
Для полноты я также упомяну, что responseEncoding в web.config явно установлен в utf-8, поэтому яожидается, что метод HtmlEncode будет учитывать этот параметр.
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />