复制阿拉伯文文件,字符变成“?”

复制阿拉伯文文件,字符变成“?”

我可以使用 Ubuntu 写阿拉伯语,但现在我遇到了这个问题:我从另一个硬盘复制了一些阿拉伯语文件(书籍和音乐),所有名称都变成了“??? ?? ?????.pdf”,这使得它们无法使用。想象一下,您的所有文件都具有这些名称“??????”......

现在,我必须打开每个文件,查找真实名称,然后逐个重命名。有没有更好的办法?我可以安装任何工具,然后再次复制它们吗?

太感谢了

答案1

问题在于文本编码 - 您复制的文件系统的文本编码与目标文件系统的文本编码不同。

我猜测您传输的文件系统是本机 Windows 文件系统,其文件名采用本地化编码,而目标文件系统是具有 UTF-8 文件名的 Linux 文件系统(UTF-8 应该支持大多数语言)。

您可能需要该convmv程序(可从 Ubuntu 存储库获得) - 您需要找出文件名的源编码(应该在您运行后获得的列表中convmv --list,我不熟悉阿拉伯语但快速搜索表明它是cp1256。)

例如(您可能需要对这些选项进行一些试验才能获得正确的结果)

# this should rename all files in current folder, recursively
convmv -f cp1256 -t utf-8 -r . 

http://www.j3e.de/linux/convmv/man/

相关内容