PHP htmlentities () не работает должным образом

У меня проблема с 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