вот юникод твой
$un2 = iconv('windows-1251', 'UTF-8', $str);
при записи в файл
fwrite($handle, $un2);
файл получится как ANSI as UTF8 т.е. без BOM
Я насчет header не уверен, зависит от нужд
Чтение таких файов ничем не отличается от обычного чтения текстовых файлов, если естественно не бинарь был.