Hola, a mí me pasa algo parecido. Los acentos, etc. se visualizan mal al importar html+texto+php con un include() o require() (dicho texto no está codificado en entidades html en plan "í" sino que está tal cual). En cambio se ven bien si ese texto y html en vez de importarse, se pone en el propio archivo. El charset del documento HTML es
iso-8859-1.
Pasando el código importado a través de utf8_encode() aún se enrevesa más la codificación.
Y lo solucioné en parte cambiando el charset en el meta tag a utf-8, pero en este caso el símbolo del euro me sale mal, con lo cual de momento no he tenido más remedio que prescindir del include() y meter todo el HTML junto.
A ver si alguien nos da una solución.