Непослушные файлы или конфликт кодировок при копировании через 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

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

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

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

Январь 19, 2018 г.

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

Читать

Проблемы при установке therubyracer

Сентябрь 9, 2018 г.

Если после команды [crayon-692915410c5d5651655879/] Вы видите что то вроде: [crayon-692915410c5df385806318/] Возможно вам поможет следующий алгоритм установки. therubyracer потребовался мне для работы lessc, потому я стал искать решение, как ...

Читать

Выполнение команды от имени другого пользователя

Март 17, 2022 г.

Команда su позволяет выполнить любую операцию от имени существующего пользователя. К примеру от имени пользователя nginx: [crayon-692915410c7c6628609482/] Должно вывести nginx, но скорее всего ничего не получится и вы увидите сообщение ...

Читать

Как правильно добавить строку в crontab

Май 31, 2025 г.

cron — это системный планировщик задач в Linux. Он позволяет запускать команды по расписанию, например: каждые 15 минут отправлять запрос на сайт или запускать скрипт. В статье разберём два способа как правильно добавить новую строку в crontab, на ...

Читать
 

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

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



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

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

  1. catcoder:

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

  2. Дмитрий:

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