Я путаюсь с кодировкой символов.
Я понимаю, что люди поступают по-разному, но многие считают, что вы должны сохранять свои данные в базе данных по мере их ввода, а затем обрабатывать их, когда вы их читаете, в соответствии с тем, что вы планируете с ними делать. Это имеет смысл для меня.
Итак, если пользователь вводит апостроф, двойную кавычку или амперсанд, меньше, больше, чем знак, они будут записаны в моей базе данных как ' " & ‹ > соответственно.
Теперь, читая данные с помощью php, я запускаю текст через HTMLPurify, чтобы выявить любые проблемы с внедрением.
Должен ли я также htmlencode его? Если я этого не сделаю, все выглядит нормально (в Chrome и Firefox), но я не уверен, правильно ли это и будет ли он правильно отображаться в других браузерах?
Если я использую htmlentities с ENT_QUOTES и htmlspecialchars, я начинаю получать коды, поступающие для этих символов, и я считаю, что это то, что я должен видеть, если смотрю на исходный код страницы, а не на страницу, которую видит пользователь.
Проблема в том, что без кодирования я вижу то, что хочу видеть, но имею в виду эту мелочь, что я делаю это неправильно!