ASP.NET Server.HtmlEncode не будет кодировать € - PullRequest
4 голосов
/ 19 мая 2010

Я знаю, что символ валюты ЕВРО (€) кодируется как € в HTML, но System.Web.HttpUtility.HtmlEncode("€") вообще не кодирует его. Кто-нибудь знает, почему это так?

1 Ответ

6 голосов
/ 19 мая 2010

HttpUtility.HtmlEncode кодирует только те символы, которые «зарезервированы» в HTML. Для этого списка см. Первую таблицу на этой странице: http://www.w3schools.com/tags/ref_entities.asp.

Другими словами, только те символы, которые могут конфликтовать с базовой структурой HTML (например, <,>, "и т. Д.). Никакие другие символы не должны кодироваться до тех пор, пока кодировка передается Байты идентифицированы правильно (например, с использованием и объявлением UTF-8).

...