Я получаю данные из почтовой формы и хочу сохранить их в MySQL
строка кода для обработки ввода:
$tekst = $_POST["tekst"];
$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8");
Когда я запускаю это, я получаю сообщение об ошибке:
Предупреждение: htmlentities (): кодировка `ENT_HTML5 ‘не поддерживается, предполагая, что iso-8859-1 в savepage.php в строке 14 index.php? Id = 1&ret = 1 1
Как мне преодолеть предупреждение?
Вы получили эту ошибку, потому что вы использовали флаг ENT_HTML5
который появился только в PHP5.4.0.
Как вы можете подтвердить это от официального документация:
5.4.0 Константы ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_XML1, ENT_XHTML и ENT_HTML5 были добавлены.
Если ваша единственная цель состоит в том, чтобы преодолеть эту ошибку, то вы можете просто позволить флаги htmlentities()
функция не установлена. Позвольте PHP обработать их по умолчанию.
Я имею в виду, изменить это:
$tekst = htmlentities($tekst, ENT_QUOTES, ENT_HTML5, "UTF-8");
Для того, чтобы:
$tekst = htmlentities($tekst, "UTF-8");
Другой вариант — установить заменить их другими флагами, поддерживаемыми PHP5.3.0, такие как:
ENT_COMPAT
: По умолчанию. Кодирует только двойные кавычки
ENT_IGNORE
: Игнорирует неверную кодировку вместо того, чтобы функция возвращала пустую строку. Следует избегать, так как это может иметь последствия для безопасности.
Других решений пока нет …