Как преобразовать текст из кодировки Windows-1252 в UTF-8?
вы делаете ту же ошибку, что и в предыдущих вопросах по парсингу: работаете с уже интерпретированными данными вместо сырых.
когда вы в файле пишите $metro = 'Ìåòðî Ïëàíåðíàÿ 474 ì'; строка приобретает кодировку этого файла, а не исходную, соответственно, любые камлания по конвертации лишены всякого смысла.
Для быстрого фикса$metro = 'Ìåòðî Ïëàíåðíàÿ 474 ì';
$metro = iconv('UTF-8', 'CP1252', $metro);
$metro = iconv('CP1251', 'UTF-8', $metro);
var_dump($metro);string(36) "Метро Планерная 474 м"
Однако вам нужно искать проблему, а не рисовать костыли.