There are a few questions here about non-ASCII letters in the names of files stored as streams inside zip files (Hebrew, Chinese, Japanese or Korean). However none of the solutions provided helped me with a zipfile with Cyrillic letters that came from a Windows machine.The file has a cyrillic name itself (.zip - downloadable link). This is an archive with zero-length contents just for the purpose of illustration.unzip -l prints:Archive:  .zip  Length      Date    Time    Name---------  ---------- -----   ----        0  2017-05-03 18:19   /ict_inf.pdf---------                     -------        0                     1 fileThe ugly  stands for the sequence of bytes C9 AB DF E8 AB DF BC AB DF.I know (by using GMail preview feature) that this should beArchive:  .zip  Length      Date    Time    Name---------  ---------- -----   ----        0  2017-05-03 18:19   /ict_inf.pdf---------                     -------        0                     1 fileThat is we need to map C9 AB DF E8 AB DF BC AB DF to .There are several commonly used 8-bit cyrillic encodings: CP1251, CP866, ISO8859-5, however they would have this word encoded as a different sequence of bytes:                           CP866:     90 AE E1 8A AE E1 AC AE E1CP1251:    D0 EE F1 CA EE F1 EC EE F1ISO8859-5: C0 DE E1 BA DE E1 DC DE E1Clearly none of the commonly used 8-bit cyrillic encodings would decode the input names to the output names like this. There is something more complicated at work here.If only we knew how to decode the names, renaming the files after extraction would be easy with an appropriate find script (https://unix.stackexchange.com/a/252000/17649), e.g.find -mindepth 1 -exec sh -c 'mv $1 $(echo $1 | here-goes-the-decoding pipeline )' sh {} \;or the convmv utility.
Encoding of cyrillic filenames in zip files
character encoding;zip