无法读取 utf8 编码的文件名(希腊字符)

无法读取 utf8 编码的文件名(希腊字符)

我使用 Dropbox 提供的“下载为 .zip”选项下载了一些文件。
文件名包含希腊字符。
我提取了这些文件,得到的只是:2013 ΧειμεÏινÏ.pdf
这些文件可能是在 Windows 操作系统上命名/创建的,语言环境为希腊语。

我已经研究过它并安装了convmv实用程序,但是当使用此命令时:
第一次尝试:
convmv -t utf8 ./2013 ΧειμεÏινÏ.pdf,我得到了这个输出:

您的 Perl 版本有缺陷 #37757 #49830
开始试运行而不做任何更改...
跳过,已经是 UTF-8:./2013 ΧειμεÏινÏ.pdf
您的文件未做任何更改。使用 --notest 最终重命名文件。

因此,文件名已经是 utf8 但无法正确显示。
第二次尝试:
搜索希腊编码,发现这两个ISO 8859-7windows-1253
尝试了第一个,结果得到iso-8859-7 doesn't cover all needed characters for: "./2013 ΧειμεÏινÏ.pdf"。所以这个也没有运气。

然后我用了convmv --list,并windows-1253没有出现。

所以我没有主意,我能做些什么来解决这个问题?

答案1

发生这种情况的原因是,如果安装了 p7zip-full,默认的 Ubuntu 存档管理器 file-roller 将使用 p7zip 来解压 zip 存档。P7zip-full 无法正确处理非英文文件名。

我使用 unzip 程序(而不是 p7zip)制作了一个带有 file-roller 的 PPA。修补后的 file-roller 可以通过以下方式安装:

sudo add-apt-repository ppa:hanipouspilot/file-roller
sudo apt-get update
sudo apt-get install file-roller

我只维护 LTS 版本。补丁可在 Launchpad 上获取,并且可以轻松应用于非 LTS 版本。

答案2

我遇到了完全相同的问题,并且p7zip导致了这个问题。

只需使用 unzip 命令unzip download.zip就可以完成这项工作。

相关内容