У меня проблема с htmlentities ()
$txt = "árbol"; echo $txt; // outputs: árbol echo htmlentities($txt); // outputs: árbol (árbol)
Второе эхо должно выводить árbol (& aacute;)
Я использую utf-8:
<meta charset="utf-8">
Что происходит? Спасибо!
Вы должны установить третий параметр htmlentities()
который сообщает кодировке. Из-за того, что вы его не задали, используется значение по умолчанию, а по умолчанию используется ISO-8859-1, а не UTF-8.
Подобно htmlspecialchars (), он принимает необязательную треховую кодировку, которая определяет набор символов, используемый в преобразовании. В настоящее время набор символов ISO-8859-1 используется по умолчанию.
Чтобы уточнить, это подпись функции:
string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $charset [, bool $double_encode = true ]]] )
и здесь вы найдете официальный документ: http://php.net/manual/en/function.htmlentities.php