Tenes razón, yo siempre lo solucioné con utf8_encode. Estoy investigando un poquito y algunas soluciones dicen de utilizar este encabezado:
header('Content-Type: text/html; charset=iso-8859-1');
Acá lo explica un poco.
http://todohosting.es/2011/11/30/pro...ciales-en-php/ http://jpijuan.blogspot.com.ar/2012/...aracteres.html
Aunque no te aseguro nada, espero que te sirva amigo.