PHP opendir() не отображает папки на кириллице?

Стоит задача разработать файловый менеджер, приступил.
Первое с чем столкнулся, это то что opendir не отображает папки на русском, и соответственно не переходит к ним.
Вот код, в директории documents лежит папка "Новая папка". Отображает он ее так:
26e2e77282974f858ee142ef12b649dd.png

Вот код
self::$path = $_SERVER['DOCUMENT_ROOT'].'/public/cloud/documents/';

        $dir = scandir(self::$path);
        $files = array(
            'dir'  => array(),
            'file' => array()
        );

        foreach($dir as $el){

            if(is_dir(self::$path.$el)){
                $files['dir'][] = $el;
            }else{
                $files['file'][] = $el;
            }
        }


Использовал iconv:
iconv('utf-8','Windows-1252',$_SERVER['DOCUMENT_ROOT'].'/public/cloud/documents/');


Вообще поискал информации, мне объяснили легче в транслит переводить. Но это неудобно, подскажите как действовать в данной ситуации.

Скрипт крутится на win 8 (open server) но по завершению естественно CentOS

Upd.

Суть вопроса в том что, opendir не открывает папки с русскими буквами! Как это решить?
  • Вопрос задан
  • 3410 просмотров
Пригласить эксперта
Ответы на вопрос 3
@khomaldi
разбираюсь потихоньку
Понимаю, что вопрос задан более трёх лет назад, но ответа до сих пор нет.
У вас ошибка в функции iconv, нужно поменять местами кодировки.
Неверно: iconv('utf-8', 'Windows-1252', string)

Правильно: iconv('Windows-1251', 'UTF-8', string)
Ответ написан
Комментировать
@m0rd
Ну русская кодировка только не 1252, а 1251, насколько я помню
Ответ написан
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
В коде страницы явно указаны meta-charset ? В вебкитах иначе не будет работать / не всегда будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы