Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
DieZeeL

Сергей Корниенко

PHP Developer, DevOps
  • 0
    вклад
  • 6
    вопросов
  • 1
    ответ
  • 100%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • PHP Как перекодировать имена файлов с кириллицей при извлечении из zip архива?

    DieZeeL
    Сергей Корниенко @DieZeeL Автор вопроса
    PHP Developer, DevOps
    Частично удалось получить 1й результат вот таким извращением:
    $name = iconv('UTF-8', 'cp1252//IGNORE', $zip->getNameIndex($i));
    $name = iconv('cp1252', 'cp850//IGNORE', $name);
    $name = iconv('cp866','UTF-8//IGNORE',$name);

    но получается вот такая вот байда:
    Докменаци к огам Асаки Плеан/Ак деекации.pdf

    Хотя должно быть:
    Документация к торгам Арсаки Плеханы/Акт дефектации.pdf


    P.S. Методом научного тыка подобрал кодировки.
    $name = iconv('UTF-8', 'cp437//IGNORE', $zip->getNameIndex($i));
            $name = iconv('cp437', 'cp865//IGNORE', $name);
            $name = iconv('cp866','UTF-8//IGNORE',$name);

    Может кому пригодиться.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
Оценили как «Нравится»
Самые активные сегодня
  • foxyhunt
    • 15 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 6 ответов
    • 0 вопросов
  • Drno
    • 6 ответов
    • 0 вопросов
  • gogowq
    • 4 ответа
    • 2 вопроса
  • DF0rig
    • 5 ответов
    • 1 вопрос
  • SagePtr
    SagePtr
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации