Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > PHP +Windows читаем файлы с русскими названиями


Автор: Гость 29.12.2006, 11:26
Столкнулся с такой проблемой: пытаюсь читать файлы под виндой, использую readdir(). Если есть файл с русскими буквами в названии, например asdфыв.txt то fopen() на нем валится и говорит что такого файла нет. Когда печатаю на экран имена файлов, из asdфыв.txt получается asd???.txt 

if($file == "asd???.txt") дает true то есть я понимаю что в пхп уже приходят вопросы.

echo `chcp` показывает 437
echo `chcp 1251` говорит что кодепэйдж изменился на 1251
следущий echo `chcp` показывает 437. То есть каждый раз открывается новая сессия с шеллом и возиться с этим бесполезно.

setlocale(LC_CTYPE, 0) говорит "English_United States.1251" выходит сам пхп работает с локалью отличной от шелла.
setlocale(LC_CTYPE, "English_United States.UTF-8") дает false.

Внимание вопрос - как читать такие файлы и правильно показывать их названия?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)