Почему PHP бросает ошибки в Windows-1251?
Имена файлов в windows пишутся в кодировке 1251.
Вообще странная идея - размещать проект в папке с НЕлатинскими символами...
Если вручную поставить в браузере кодировку Кириллица (Windows), то текст нормально отображается.
Именно. PHP и возвращяет вам ответ в UTF-8, однако ваш браузер читает и пытается отобразить его как windows-1251.
А что касается кириллицы, то D:\��� �������\ - вы запускаете тестовый сервер на windows ? Для теста вы и так знаете где он лежит, а вот для production все-таки стоит перейти на linux и избавиться от кириллицы.