Problemas na exibição de caracteres acentuados em francês no UTF-8

Estou trabalhando em um site em francês construído no CakePHP. Tentei várias funções para converter o texto em UTF-8 e exibir corretamente, mas até agora não obtive sucesso - todas as letras acentuadas são exibidas como um diamante preto com um ponto de interrogação. Eles são exibidos corretamente quando altero o conjunto de caracteres no navegador para ISO-8859-1, mas eu gostaria de tornar o site while compatível com UTF-8. Eu tenho usado:

html_entity_decode ($ string, ENT_QUOTES, 'UTF-8'); htmlspecialchars ($ string, ENT_QUOTES, 'UTF-8'); utf8_encode

mas sem charuto. A página está definida como UTF-8 no cabeçalho

E o banco de dados MySQL também está usando UTF-8. Como faço para que os caracteres acentuados sejam exibidos corretamente em UTF-8?