我经常在解压缩 zip 文件时看到未知的文件名。
例如,
???¤????-Bb??????????-????????,?????????? ?????????????? ,??????
Run Code Online (Sandbox Code Playgroud)
问题的解决方案是什么?
韩文 MS Windows 编码 cp-949可用于压缩原始文件。尝试unzip使用 Windows 编码选项。
unzip -O cp-949 <file.zip>
Run Code Online (Sandbox Code Playgroud)
注意:我查看了原始海报的简介以了解他/她在哪里(韩国首尔)。对于其他用户,您必须检查zip的来源并分别更改编码。
尝试使用 p7zip。(@Pilot6 提到 p7zip 不适用于非 UTF-8 编码,但如果您只需要 UTF-8,那么这是一个简单的解决方案。)
apt-get update
apt-get install p7zip-full
7z x thefile.zip -o"outputDir"
Run Code Online (Sandbox Code Playgroud)
如果您使用标准 Ubuntu Archive Manager 和 Ubuntu 版本 14.04+,则可以通过安装修补的 Archive Manager (file-roller) 来解决此问题。问题是,如果安装了 p7zip-full,file-roller 使用 p7zip 来解压缩 zip 存档。但 p7zip 不能很好地处理非 UTF-8 编码。我修补了 file-roller 以便始终使用 unzip 来实现此目的。解压缩本身已修复。修补后的 file-roller 可以从我的 ppa 安装
sudo add-apt-repository ppa:hanipouspilot/file-roller
sudo apt-get update
sudo apt-get install file-roller
Run Code Online (Sandbox Code Playgroud)