Лучший способ хранения & (Амперсанд) в базе данных MySQL

Я создаю список категорий, и я не уверен, как хранить символ Амперсанда в базе данных MySQL. Есть ли проблема / недостаток, если я использую '&' . Существуют ли какие-либо отличия от использования его в формате html '&amp' ?

Использование '&' сохраняет несколько байтов. Это не особый характер для MySQL. Вы можете легко создать & для вывода позже с помощью метода PHP htmlspecialchars() . Когда ваше поле предназначено для хранения простой информации, вы должны использовать только обычный текст, поскольку это в целом более гибкое, поскольку вы можете создавать различные виды разметки и т. Д. Позже. Исключение: разметка создается пользователем, решения по макету которого вы хотите сохранить с текстом (как в вложенном тексте). Если на вашем входе есть теги и т. Д., Вы можете использовать & для согласованности.

Вы должны хранить его как &amp; только если поле в БД содержит HTML (например, <span class="bold">some text</span> &amp; more ). В этом случае вы должны быть очень осторожны в XSS .

Если поле содержит некоторые общие данные (например, имя пользователя, название … и т. Д.), Вы должны избегать его, только когда вы помещаете его в свой HTML (например, используя htmlentities ).

Хранение его как &amp; является подходящим методом. Вы можете повторить его или использовать в заявлениях как &amp; ,

Мы постоянно сохраняем '&' в полях базы данных, это нормально (по крайней мере, я никогда не слышал аргумента в противном случае).

Если вы используете только строку на странице HTML, вы можете просто сохранить безопасный HTML &amp; версия, я полагаю. Я бы предположил, что сохранение «&» и экранирование его при его чтении было бы лучше (в случае, если в будущем вам понадобится использовать строку в контексте, отличном от HTML).

Использовать &amp; если вы хотите иметь допустимый HTML или избегать проблем, таких как cut&copy (браузер показывает его как cut© ).