小编Nag*_*arz的帖子

使用 wget 递归下载时文件名编码/解码错误

我正在使用递归方式从远程目录下载文件wget,无论是谁创建了文件夹和文件,使用了特殊字符,例如èÓ,当我下载指定完整路径+文件名的单个文件时,文件将以其名称正确下载,但是当我只需尝试使用-r文件名未正确编码或解码的选项下载包含所有文件和目录的文件夹。

从我收集到的信息来看,文件名ascii在请求中作为 an发送,并且我的机器和服务器都UTF-8对 进行了编码$PATH,所以它也不应该是一个问题。

当 wget 创建文件时,文件名中的è字符(我将以此为例)保存为\350八进制字符代码,并显示为è. 这只发生在我递归下载文件时,如果我使用完整的 URL 下载这个文件,文件名就会正确显示。

我花了几个小时了相当数量的查找Q / A在这里和那里,我已经尝试了一切我所看到的,从环境--local-encoding--remote-encodingUTF-8,使用--restrict-file-names=nocontrol

端口 21 和 22 已关闭,因此我无法通过 SCP 或 FTP 下载文件,很可能任何其他下载文件的协议都会出现相同的错误,但我可以使用任何不常见的文件.

另外我遇到的主要问题是,当我下载文件时,当我尝试将它们复制到备份文件夹时,由于文件名被弄乱,某些文件有时会给我一个找不到文件的错误,例如现在我使用--restrict-file-names=ascii并保留名称ascii作为解决方法,但我需要将编码更改为UTF-8,而且我无法在机器上安装任何应用程序,例如 convmv(来自老板的命令)。

这是我一直用来下载文件的命令: wget --keep-session-cookies --cookies=on --no-check-certificate --restrict-file-names=nocontrol --convert-links --no-parent -r <URL>

这是通过递归下载单个文件与所有文件来保存文件名的方式:

OT14-004 CEIP Pins del Vallès.vsd

OT14-004 CEIP Pins del Vallès.vsd

我正在使用带有此发行版 …

linux centos wget encoding

5
推荐指数
0
解决办法
4248
查看次数

标签 统计

centos ×1

encoding ×1

linux ×1

wget ×1