Я рекурсивно загружаю файлы из удаленного каталога, используя wget
и тот, кто создавал папки и файлы, использовал специальные символы, такие как è
или Ó
, когда я загружаю один файл с указанием полного пути + имени файла, файл загружается с его именем правильно, но когда я просто пытаюсь загрузить папку со всеми файлами и каталогами, используя параметр -r
имена файлов неправильно закодированы или декодированы.
Из того, что я собрал, имя файла отправляется как ascii
в запросе, и моя машина и сервер имеют UTF-8
кодирование на $PATH
, так что это тоже не должно быть проблемой.
Когда wget создает файл, è
символ (который я буду использовать в качестве примера) в имени файла сохраняется как \350
в восьмеричном коде символов, и он отображается как è
. И это происходит только тогда, когда я загружаю файлы рекурсивно, если я загружаю этот файл, используя полный URL-адрес, имя файла отображается правильно.
Я потратил немало часов на поиск вопросов и ответов здесь и там, и я перепробовал все, что видел, начиная с настройки --local-encoding
и --remote-encoding
к UTF-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
Я использую машину с этим дистрибутивом CentOS Linux release 7.0.1406 (Core)
и с этой версией wget GNU Wget 1.14 built on linux-gnu