Добрый день.
Есть Joomla 3.7.5 на Apache 2.2, CentOS 6.9.
И есть компонент, в котором на сервер загружается и распаковывается zip-архив, при помощи класса JArchive:
$zip = JArchive::getAdapter('zip');
$zip->extract($data['tmp_name'], $tmpFolder);
Так вот, архивы с русскоязычными символами он распаковывает некорректно, портит имена файлов.
Причина, конечно, не в классе, а в архиваторах, которыми пользователи пакуют файлы: архиваторы используют Юникод не везде, а только для символов, отсутствующих в текущей кодировке (для винды - cp1251). Проверено на 7-zip и встроенном виндовом архиваторе.
Заставить пользователей формировать архивы по-другому я не в силах, остаётся
переключить кодировку для распаковщика.
И вопрос:
как это сделать, где? В php или apache или системе? Перекопал конфиг, везде юникод либо ничего не указано. Делать cp1251 дефолтной кодировкой для всей системы - совсем не улыбается.
Спасибо заранее.
P.S. хотел прикрепить phpinfo(), но нет прав прикреплять файлы, а вставлять прямо в текст сообщения - выходит нечитабельно и слишком дофига всего.