Sin ser experto...
Código PHP:
$txt = utf8_encode("Añoró");
if ($fp = fopen("texto_utf8.txt","wb")) {
fwrite($fp,$txt,strlen($txt));
fclose($fp);
}
Lo único que tenés que hacer es asegurarte de que al string/cadena que vas a guardar le pases antes la función utf8_encode.
Abajo te dejo un test. Descomentá la primera línea y comentá la segunda para verlo en iso-8859-1 (vas a ver unos caracteres raros tipo Añoró) y al revés para verlo en utf8. Si en utf8 lo ves bien... quiere decir que el archivo que está leyendo está en utf8.
Código PHP:
<?php
//header("Content-Type:text/html; charset=iso-8859-1");
header("Content-Type:text/html; charset=utf-8");
$leer = false;
$txt = utf8_encode("Añoró");
if ($fp = fopen("texto_utf8.txt","wb")) {
fwrite($fp,$txt,strlen($txt));
fclose($fp);
$leer = true;
}
if ($leer == true) {
$f = fopen("texto_utf8.txt","r");
while (!feof($f)) {
$test .= fread($f,1024);
}
echo $test;
}
?>
Suerte