Сам разобрался. Видимо на сервере имена файлов в utf-8, поэтому мое перекодирование utf-8 → win-1251 оказалось лишним. Это что получается, в Винде имена файлов в win-1251, а в Юниксе в utf-8?
И как с этим жить? Форматировать логический раздел под Юникс, а потом обращаться к нему какой-нибудь замысловатой утилитой? Может в Денвере есть подобные настройки?
Называть файлы латиницей. Если на вход передаются русские символы - делать базу ресурсов типа входящие данные -> путь к файлу.
в общем напряги мозги, все как-то обходятся без русских имен.
__________________
Болтовня ничего не стоит. Покажите мне код. — Linus Torvalds влад.куркин.рф
Файлы могут называться как угодно, я это не контролирую. Думаю вот о чем: можно ли узнавать кодировку имен файлов на сервере (хотя бы ОС сервера)? Тогда можно было бы обойтись одним логическим условием, а код работал бы как на Винде, так и на Юниксе.