Непослушные файлы или конфликт кодировок при копировании через FTP

Сайты иногда переезжают с одного хостинга на другой. И когда это случается, приходится выполнить как минимум две операции — копирование файлов и копирование базы данных на промежуточный хост.

Этот промежуточный хост, обычно, рабочая станция под управлением MS Windows, тогда как подавляющее большинство сайтов размещаются на Unix-совместимых серверах. И тут может возникнуть ситуация когда FTP клиент не сможет скопировать часть файлов на промежуточный хост, из за того что кириллическая кодировка имен файлов в UNIX системе (традиционно KOI8-R) не позволит создать файлы на промежуточном хосте.

Обычно это файлы изображений, которые залил при редактировании статей сайта администратор или редактор сайта по протоколу http. В тот момент кодировки верно состыковались, и UNIX перекодировал имена файлов в свою кириллическую кодировку.

В принципе, если ничего другого не остаётся, то можно скопировать эти картинки по http. Пройтись по списку не переданных файлов в вашем ftp клиенте и файл за файлом скачать их с помощью браузера. Но таких файлов может быть довольно много, и путь этот тернист :).

Если же есть доступ по ssh протоколу — а он есть практически всегда на коммерческом хостинге, то проще будет прибегнуть к следующему незамысловатому приему. Упакуйте папку с файлами сайта (или только с пользовательскими файлами сайта), и уже этот архив скачайте по ftp. Можно для упаковки использовать утилиту TAR, тогда команда для упаковки файлов в текущем каталоге будет выглядеть примерно так:

tar -cvvf site-files.tar ./

Потом архив закачивается по FTP на конечный веб-сервер и там уже разворачивается обратной командой:

tar -xvvf site-files.tar

В итоге, кодировка без проблем переживет переезд в контейнере архивного файла. Подразумевается, что кодировки на веб-серверах совпадают.

Мало букафф? Читайте есчо !

Настройка SSH-туннеля для доступа к OpenAI API из недоступной страны

Май 31, 2025 г.

В эпоху блокировок, санкций актуальным становятся пробросы туннелей до определенных сервисов. Расскажу на примере SSH-туннеля для доступа к OpenAI API из России. Т.е. ваш сервер размещен в стране, где доступ к api.openai.com ограничен, но хотите использовать ...

Читать

Замена строки в файлах

Март 17, 2024 г.

В Unix для замены текстового значения в группе файлов можно использовать утилиту rpl. Установите rpl: [crayon-68bd36abbfc56358244783/] Для замены тестовой строки выполните команду в файле FILENAME: [crayon-68bd36abbfc5e370710067/] Подстановка ...

Читать

Добавление SSL сертификатов для разных сайтов на одном ip

Январь 19, 2018 г.

Давайте рассмотрим порядок действий и настройку SSL сертификата в apache2. В сети довольно много гайдов. Все они примерно следуют одному и тому же алгоритму. ...

Читать

Организуем автодеплой изменений из репозитория для проекта на Drupal

Август 23, 2018 г.

Когда над проектом работает несколько разработчиков, то возникают определенные структурные и организационные вопросы. Каждый программист обычно работает ...

Читать
 

Комментарии к «Непослушные файлы или конфликт кодировок при копировании через FTP»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Непослушные файлы или конфликт кодировок при копировании через FTP”

  1. catcoder:

    Очень помогла подсказка. Клиент залил на тестовый сайт кучу картинок с названиями на кириллице, и когда пришло время переносить сайт на основную площадку, вылезла неприятность.
    Ваш способ очень сэкономил время и нервы.
    Спасибо!

  2. Дмитрий:

    Огромное спасибо за правильную команду :)