Prueba con esta solución que me dio
pateketrueke. Me ocurrió algo similar.
El tema es que para utilizar utf8_encode() en un array hay que hacerlo con array_map('utf8_encode', $array).
Echale un vistazo que igual puede ayudarte.
http://www.forosdelweb.com/f18/utf8_...2/#post3896148 PD.: Me ha resuelto todos lo problemas que tenía con los acentos en la DB.