HTML-сущности были введены несколько лет назад для передачи символьной информации по проводам, когда транспортировка не была бинарно-безопасной, и в случае, когда пользовательский агент (браузер) не поддерживал кодировку кодировки транспортного уровня или сервера.
Поскольку сущность HTML содержит только очень простые символы (&
, ;
, a-z
и 0-9
), и эти символы имеют одинаковую двоичную кодировку в большинстве наборов символов, это и было очень безопасно от этих символов. побочные эффекты.
Однако, когда вы сохраняете что-то в базе данных, у вас нет этих проблем, потому что вы обычно контролируете и знаете, что и как вы можете хранить в базе данных.
Например, если вы разрешите Unicode для текста внутри базы данных, вы можете хранить все символы, ни один из которых не является специальным. Обратите внимание, что вам нужно знать свою базу данных здесь, есть некоторые технические детали, с которыми вы можете столкнуться. Как будто вы не знаете кодировку кодировки для вашего соединения с базой данных, поэтому вы не можете точно указать вашей базе данных, какой текст вы хотите сохранить там. Но обычно вы просто сохраняете текст и извлекаете его позже. Ничего особенного, чтобы иметь дело.
На самом деле есть недостатки, когда вы используете сущности HTML вместо простого символа:
- HTML-объекты занимают больше места:
ü
намного больше, чем ü
в LATIN-1, UTF-8, UTF-16 или UTF-32.
- HTML-сущности нуждаются в дальнейшей обработке. Их нужно создавать, а при прочтении их нужно анализировать. Представьте, что вам нужно найти конкретный текст в вашей базе данных, иначе любое другое действие потребует дополнительной обработки. Это просто над головой.
Настоящее веселье начинается, когда вы смешиваете обе концепции. Вы пришли в место, в которое вы действительно не хотите идти. Так что просто не делай этого, потому что тебе это не понадобится.