Почему у меня должно быть значение utf8_decode () моего столбца MySQL, чтобы оно отображалось правильно?

Я использую CakePHP с App.encoding для UTF-8, <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> присутствует в моей <head> и моей MySQL база данных установлена ​​в кодировку Unicode UTF-8 и сортировка utf8_general_ci. У меня также есть "encoding"=>"UTF8" в моей базе данных.

Когда я храню символ «£» в таблице базы данных и просматриваю его с помощью командной строки MySQL, символ отображается правильно.

Если я использую CakePHP для извлечения строк из таблицы базы данных и вывода их на своем веб-сайте, я вижу вместо £ вместо моего предполагаемого символа £ .

Однако, если я использую utf8_decode() для вывода моих данных, он отображается правильно.

Это верно? Я попытался использовать htmlentities () для преобразования символа £ в &pound; но он выводит &Acirc;&pound; вместо! Даже когда я использую дополнительные параметры для кодировки.

Возможно, кто-то может помочь – я, должно быть, что-то пропустил, но я думал, что символы должны отображаться правильно (в таких вещах, как textarea HTML-теги), если все ваши заголовки, метатеги и т. Д. Были последовательно UTF-8?