tplus: спасибо за идею с sudo, но тоже не взлетело. Если запускаю скрипт в консоли из под www-data, то все нормально срабатывает. Если через браузер обращаюсь к скрипту, то также игнорирует кириллицу.
Отказался от zip, сделал все иначе. Все хорошо работает.
krypt3r: мне тоже не понятна связь. при запуске в консоли как самого unzip, так и через sh-скрипт, php-скрипт все извлекается корректно (кириллица).
Также пробовал от пользователя www-data запускать - все работает. Но если тоже самое делаю из php-скрипта, через браузер, то архив распаковывает, но кириллица игнорируется.
ZipArchive пробовал изначально. Уже после него начал проверять с помощью прямого вызова архиваторов (unzip, unar).
Везде указаны полные пути. Скорее всего проблема из-за прав. При запуске php-скрипта в консоли с root-правами все работает хорошо. А с ww-data такая проблема. Пока не знаю как дальше решить