• ZipArchive и кодирвка

    @lefin17
    Проблема с русской кодировкой может быть связана с локалью под которой работает php+nginx(apache)
    узнать локаль
    passthru("locale");
    у меня так:
    LANG=
    LC_CTYPE="POSIX" 
    LC_NUMERIC="POSIX"...


    в командной строке сервера выполните $ locale - для сравнения
    $ locale
    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8" 
    LC_NUMERIC="en_US.UTF-8" ...


    Далее разбор полета на unix'ах привел к использованию такой конструкции
    passthru("env LANG=en_US.UTF-8 nice 7za a -tzip -mmt4 -sccUTF-8 -scsWIN $archive_path $catalog_path");


    где env - определяет язык (локаль) окружения под которым нужно выполнить команду
    nice - выполнение с пониженным приоритетом, чтоб не вешать все
    7za - встроенный навороченный архиватор чьих способностей хватает для решения задачи
    далее в мануалах по 7za (7zip) но смысл что из utf8 для windows сохдаем архив с именем и из файлов лежащих в определенной папке.
    У меня получилось. Удачи. Годы идут, проблема встречается. Спасибо коллегам за участие в решении задачи.
    Ответ написан
    Комментировать