Я использую HTML Purifier в своем проекте PHP, и у меня возникают проблемы с его корректной работой с пользовательским вводом.
У меня есть пользователи, которые вводят в HTML с помощью редактора WYSIWYG ( TinyMCE ), но всякий раз, когда пользователь вводит в сущность HTML
(неразрывный пробел), он сохраняется в базе данных, как это странный иностранный символ (Â
).
Однако дело в том, что когда я редактирую сохраненную запись с помощью редактора WYSIWYG, она отображается правильно как
. Он также работает правильно при отображении, только в исходном коде он выглядит как реальный пробел, но не как символ неразрывного пробела.
Кроме того, в базе данных MySQL он отображается как странный иностранный символ.
Я прочитал документ о Unicode и HTML Purifier и изменил кодировку своей базы данных и веб-страниц на UTF-8, но у меня все еще есть проблемы с тем, что неразрывный пробел не искажается. Другие объекты HTML, такие как <
и >
, сохраняются как <
и >
, но почему бы не
?