Здравствуйте, я пытаюсь вывести в браузер результат выполнения команды 'dir' с помощью следующего кода: Код (Text): echo "<pre>"; echo iconv('utf-8', 'windows-1251', `dir`); echo "</pre>"; Однако, на экране по-прежнему что-то такое - "\320\221\320\265\320\267\321\213\320\274\321\217\320\275\320\275\321\213\320\271\" - вместо кириллицы. Тоже самое получается и просто при echo `dir`. Как мне решить эту проблему?
В PHP есть scandir http://php.ru/manual/function.scandir.html Что будет если так: Код (Text): <?PHP $arr = (scandir('.')); foreach($arr as $v) { echo iconv('utf-8', 'windows-1251', $v); } ?> И конечно вопрос, какая кодировка установлена в браузере? Какая кодировка в метатегах? Если вы работаете под Убунту, то, вероятно, по умолчанию в браузере кодировка utf-8, а вы меняете с utf-8 на cp1251. Добавлено спустя 52 минуты 35 секунд: И как-то непонятно - что такое `dir` Внешние команды выполняются через system() А понял.
Спасибо за ответ, я разобрался, отвечу на случай, если кто-то столкнётся с тем же. Почему-то dir по-прежнему выводит набор кодов символов, а вот ls работает правильно. Установил кодировку utf-8 в метатегах, и вся кириллица стала отображаться правильно без iconv.