Zip-архивы, созданные штатными средствами ОС Windows, сохраняют имена файлов внутри архива исключительно в однобайтовой кодировке системы по умолчанию (в русской версии это Windows-1251 (cp1251), в английской - Windows-1252 (cp1252)), поэтому при распаковке таких архивов вместо русских букв будут отображаться кракозябры.
Утилита unzip поддерживает явное указание кодировки, поэтому воспользуемся данной функцией:
Код:
unzip -O cp1251 foo-bar.zip -d /path/to/destination
Здесь cp1251 - кодировка имён файлов, foo-bar.zip - имя архива, а /path/to/destination - каталог, в который он будет распакован.