Probabilmente non tutto e` UTF-8. Controlla che anche la connessione a MySQL sia in UTF-8. Per farlo puoi eseguire questa query non appena apri la connessione:

codice:
SET NAMES utf8
Per esempio se usi PDO puoi farlo direttamente alla costruzione dell'oggetto:

Codice PHP:
$db = new PDO "mysql:host=" HOSTNAME ";dbname=" DBNAME ";charset=UTF-8"USERNAMEPASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") ); 
A questo punto utf8_encode() non ti deve piu' servire.
Prova e fammi sapere