So, I've done some investigation, and here's what I found out. The tar.exe that comes with Git for Windows is bsdtar, which uses libarchive. And libarchive, when creating archives, always sets the value of "the operating system on which the archive was created" to UNIX, even if the library is built and running on Windows. Consequently, on Windows systems we end up with an archive where the encoding is 866 (standard for Windows console), but the operating system value is UNIX. Therefore, many archivers...
Upstream issue: https://github.com/Pr-Mex/vanessa-automation/issues/2128
Here is zip.exe that produces such files: https://github.com/tisaconundrum2/zip 1DD3 CENTRAL HEADER #1 02014B50 1DD7 Created Zip Spec 17 '2.3' 1DD8 Created OS 0B 'MVS or NTFS' ... 1E01 Filename 'Дикий помещик.htm' (in 1251 charset)
Similar fix suggested for Ubuntu's unzip: https://code.launchpad.net/~mitya57/ubuntu/+source/unzip/+git/unzip/+merge/466860
https://github.com/ip7z/7zip/pull/36
https://github.com/ip7z/7zip/pull/36
The patch itself
7zz -mcp=866 l ./zip.zip 7zz -mcp=1251 l ./zip.zip etc