Как вы можете видеть в этой демонстрации и читать в стандарте (4.10.22.6.4.2) , символы, которые не поддерживаются выбранной кодировкой (например, японские в кодировка ISO8859- * или cp1252) кодируется как объекты HTML.
Если вас устраивает неправильная обработка пользовательского ввода, содержащего html-объекты в открытом виде, вы можете заменить все числовые HTML-объекты в пользовательском вводе соответствующим символом Unicode (однако сделать это в ASP сложно, поскольку нет обратного Функция Server.HTMLEncode
и поддержка Unicode практически не существует.
В качестве альтернативы используйте UTF-8 (и / или платформу веб-разработки этого тысячелетия), и все эти проблемы исчезнут. Тем не менее, поскольку это может не быть вариантом, вы можете захотеть, чтобы эскейп-сущности HTML не отображались в разных программах, например, с HttpUtility.HtmlDecode
в C #, html_entity_decode
в PHP, или HTMLParser.unescape
в Python.