Rsync传输文件名字符编码问题(重音等)

问题描述 投票:0回答:1

传输我的大型网站 我使用 rsync 在两个 Linux 服务器之间传输了大量照片文件。从 Centos 7 转到 CloudLinux,所以都是 Linux。

旧服务器上的文件名示例

Suppiluliuma_II_Grabkammer_S?dburg_Hattusa_Fot.png

转账后

Suppiluliuma_II_Grabkammer_S%C3%BCdburg_Hattusa_Fot.png

此外,在新主机基于 Web 的文件管理器中,文件显示为

Suppiluliuma_II_Grabkammer_S�dburg_Hattusa_Fot.png

并且无法正常显示

我知道像这样编码文件不是一个好的做法,但它们过去已由网站贡献者上传,所以我坚持使用它们。

我可以再次传输文件,但如何阻止这种情况发生?我已经尝试过 -s 这没有帮助。我看到了 rsync

--iconv
选项,但不知道如何使用它。

或者有没有更好的方法来传输并确保所有文件都通过?

PS 我刚刚尝试使用 Filezilla 进行 SFTP,其界面抱怨该文件的编码(在传输之前),甚至不会显示它!

PPS 我不知道这是否可以通过 rsync 修复。 因此,我将通过创建 zip 文件/tarball、上传该文件并解压缩到正确的目录来再次尝试传输。

encoding character-encoding rsync non-ascii-characters iconv
1个回答
0
投票

结果我们有 ISO-8859-1 格式的文件。

--iconv 如下修复了传输问题:

rsync -av --iconv=UTF-8,ISO-8859-1 /PATH_TO_OLD/ /PATH_TO_NEW/
© www.soinside.com 2019 - 2024. All rights reserved.