When i open .zip packed by windows, i see incorrect displaying russian file names. I know why (it because it in cp2151), but can't change encoding for read. Reproducible: Always Steps to Reproduce: 1. Add menu for manually choose encoding 2. 3.
Please create a sample ZIP archive and attach it here so anyone can try to reproduce the bug. I couldn't reproduce it with the .zip files I've got here: they must have been created under Win7, but I can't do the same on my own since I don't have a Windows PC around here. Related/duplicate bugs: - https://bugs.kde.org/show_bug.cgi?id=187201 - https://bugs.kde.org/show_bug.cgi?id=188576
Created attachment 88297 [details] zip Zip file packet by WinRar on win64 (win 8). Used russian file names.
Created attachment 88298 [details] rar Zip file packet by WinRar on win64 (win 8). Used russian file names.
Comment on attachment 88298 [details] rar Rar file packet by WinRar on win64 (win 8). Used russian file names.
Both of your attachments (ZIP and RAR) are open correctly in Ark here (KF5-based, installed from Git on 23.03.2015). What locale do you have? Please post your output of "locale". I have "ru_RU.utf8".
Still waiting for the info requested by Alexander. Marking as NEEDSINFO for now.
I was able to reproduce the problem with the attached ZIP file. For me it uses the kerfuffle_cli7z plugin and thus runs "7z". 7z is responsible for extracting wrong filenames (note the "Path:" lines below): ===== aspotashev@cell ~ $ /usr/bin/7z l -slt /home/aspotashev/kde-git/karchive/autotests/data/russianFilenames.zip 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,2 CPUs) Listing archive: /home/aspotashev/kde-git/karchive/autotests/data/russianFilenames.zip -- Path = /home/aspotashev/kde-git/karchive/autotests/data/russianFilenames.zip Type = zip Physical Size = 390 ---------- Path = ¯ ¯ª Folder = + Size = 0 Packed Size = 0 Modified = 2014-08-18 15:52:37 Created = 2014-08-18 15:52:23 Accessed = 2014-08-18 15:52:37 Attributes = D.... Encrypted = - Comment = CRC = Method = Store Host OS = FAT Version = 10 Path = ¯ ¯ª /ä ©«.txt Folder = - Size = 0 Packed Size = 0 Modified = 2014-08-18 15:52:34 Created = 2014-08-18 15:52:34 Accessed = 2014-08-18 15:52:34 Attributes = ....A Encrypted = - Comment = CRC = 00000000 Method = Store Host OS = FAT Version = 10
The attached RAR file opens here correctly in Ark using "kerfuffle_clirar". Alex, can you please share the command line output from Ark after opening the archive files causing problems?
Hi Alexander, thanks for the update! Does it mean that your locale (still ru_RU.utf8?) does not make any difference on the output of 7z?
That's right. I have the ru_RU.UTF-8 locale and 7z has the above problem. As for ZIP, this bug can be resolved as upstream. Btw, if I temporarily move the 7z* executables, Ark falls back to kerfuffle_clizip and the file list is displayed correctly. kerfuffle_clizip should probably have higher priority than kerfuffle_cli7z. I would still wait for the details about RAR because I can't reproduce the problem with RAR.
(In reply to Alexander Potashev from comment #10) > Btw, if I temporarily move > the 7z* executables, Ark falls back to kerfuffle_clizip and the file list is > displayed correctly. kerfuffle_clizip should probably have higher priority > than kerfuffle_cli7z. The problem is that kerfuffle_clizip's unzip has serious issues with other locales (e.g. with turkish characters IIRC) and it may create files which cannot even be deleted by Dolphin. That's why we gave higher priority to kerfuffle_cli7z, since Ark 15.12. Anyway I'm marking this bug as confirmed. But sadly I don't see an easy solution :(
Alexander, I can see you run version 9.20 of p7zip. This is a rather old version from 2010. Can you try updating to 15.09 to see if it handles the russian filenames better?
Same problem when opening ZIP with 7z 15.09 beta: ===== aspotashev@cell ~ $ /usr/bin/7z l -slt /home/aspotashev/Downloads/cyrilic_bug.zip 7-Zip [64] 15.09 beta : Copyright (c) 1999-2015 Igor Pavlov : 2015-10-16 p7zip Version 15.09 beta (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Celeron(R) CPU B800 @ 1.50GHz (206A7),ASM) Scanning the drive for archives: 1 file, 390 bytes (1 KiB) Listing archive: /home/aspotashev/Downloads/cyrilic_bug.zip -- Path = /home/aspotashev/Downloads/cyrilic_bug.zip Type = zip Physical Size = 390 ---------- Path = ¯ ¯ª Folder = + Size = 0 Packed Size = 0 Modified = 2014-08-18 14:52:37 Created = 2014-08-18 14:52:23 Accessed = 2014-08-18 14:52:37 Attributes = D Encrypted = - Comment = CRC = Method = Store Host OS = FAT Version = 10 Path = ¯ ¯ª /ä ©«.txt Folder = - Size = 0 Packed Size = 0 Modified = 2014-08-18 14:52:34 Created = 2014-08-18 14:52:34 Accessed = 2014-08-18 14:52:34 Attributes = A Encrypted = - Comment = CRC = 00000000 Method = Store Host OS = FAT Version = 10
I would also expect the 7z's "-mcp=866" option to decode from the CP866 encoding, but this option does not change the output, i don't know why.
Infozip 6.00 can't display the filnames correctly either. Output of "zipinfo -l -T -z cyrilic_bug.zip": Archive: cyrilic_bug.zip Zip file size: 390 bytes, number of entries: 2 drwx--- 3.1 fat 0 bx 0 stor 20140818.145236 ?????/ -rw-a-- 3.1 fat 0 bx 0 stor 20140818.145234 ?????/????.txt 2 files, 0 bytes uncompressed, 0 bytes compressed: 0.0% Alexander, what version of unzip are you using? I'm guessing the 6.10b beta?
I have zip-3.0 and unzip-6.0 from http://www.info-zip.org/ > ZipInfo 3.00 of 20 April 2009, by Greg Roelofs and the Info-ZIP group. And it works correctly: aspotashev@cell ~ $ zipinfo -l -T -z Downloads/cyrilic_bug.zip Archive: Downloads/cyrilic_bug.zip Zip file size: 390 bytes, number of entries: 2 drwx--- 3.1 fat 0 bx 0 stor 20140818.145236 папка/ -rw-a-- 3.1 fat 0 bx 0 stor 20140818.145234 папка/файл.txt 2 files, 0 bytes uncompressed, 0 bytes compressed: 0.0% May be it depends on the locale. I have ru_RU.UTF-8.
I tried with the recently released p7zip 15.14 and it fixes this bug for me (without setting Russian locale). Can you confirm, Alexander?
Fixed in p7zip 15.14. Thanks for the notification! ===== aspotashev@cell ~ $ /usr/bin/7z l -slt /home/aspotashev/Downloads/cyrilic_bug.zip 7-Zip [64] 15.14 : Copyright (c) 1999-2015 Igor Pavlov : 2015-12-31 p7zip Version 15.14 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Celeron(R) CPU B800 @ 1.50GHz (206A7),ASM) Scanning the drive for archives: 1 file, 390 bytes (1 KiB) Listing archive: /home/aspotashev/Downloads/cyrilic_bug.zip -- Path = /home/aspotashev/Downloads/cyrilic_bug.zip Type = zip Physical Size = 390 ---------- Path = папка Folder = + Size = 0 Packed Size = 0 Modified = 2014-08-18 14:52:37 Created = 2014-08-18 14:52:23 Accessed = 2014-08-18 14:52:37 Attributes = D Encrypted = - Comment = CRC = Method = Store Host OS = FAT Version = 10 Path = папка/файл.txt Folder = - Size = 0 Packed Size = 0 Modified = 2014-08-18 14:52:34 Created = 2014-08-18 14:52:34 Accessed = 2014-08-18 14:52:34 Attributes = A Encrypted = - Comment = CRC = 00000000 Method = Store Host OS = FAT Version = 10 aspotashev@cell ~ $ /usr/bin/7z l -slt /home/aspotashev/Downloads/cyrilic_bug.rar 7-Zip [64] 15.14 : Copyright (c) 1999-2015 Igor Pavlov : 2015-12-31 p7zip Version 15.14 (locale=ru_RU.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Celeron(R) CPU B800 @ 1.50GHz (206A7),ASM) Scanning the drive for archives: 1 file, 136 bytes (1 KiB) Listing archive: /home/aspotashev/Downloads/cyrilic_bug.rar -- Path = /home/aspotashev/Downloads/cyrilic_bug.rar Type = Rar Physical Size = 136 Solid = - Blocks = 2 Multivolume = - Volumes = 1 ---------- Path = папка/файл.txt Folder = - Size = 0 Packed Size = 0 Modified = 2014-08-18 14:52:34 Created = Accessed = Attributes = A Encrypted = - Solid = - Commented = - Split Before = - Split After = - CRC = 00000000 Host OS = Win32 Method = m0:17 Version = 29 Path = папка Folder = + Size = 0 Packed Size = 0 Modified = 2014-08-18 14:52:37 Created = Accessed = Attributes = D Encrypted = - Solid = - Commented = - Split Before = - Split After = - CRC = 00000000 Host OS = Win32 Method = m0 Version = 20
Thanks for confirming. I will resolve this as upstream.