pueden ser muchas cosas... la codificación por defecto del script por ejemplo...
que te parece si pruebas con las funciones de UTF-8?
http://php.net/utf8_encode http://php.net/utf8_decode
y bueno, está claro que el archivo debería estar también codificado con UTF-8