Forse i dati nel DB non sono memorizzati in UTF8 (la collation per tabelle e database).
Forse la comunicazione fra DB e PHP non avviene in UTF8 (set names).
Se dei caratteri sono hard coded nei tuoi file php forse i file php non sono stati salvati con codifica UTF8