Pull to refresh

FileZilla Server, unicode, cp1251 и русские буквы

Reading time 2 min
Views 10K
Многие из нас пользуются замечательным FTP сервером FileZilla Server. Думаю, не я один столкнулся с проблемой некорректного отображения русских букв в списках файлов с этого сервера в FTP-клиентах, не поддерживающих UTF-8 (к которым, в том числе, относится и встроенный FTP клиент Far'а, и встроенный в windows клиент командной строки).

Расскажу о том, как можно решить эту проблему.

Но сначала — короткая предыстория.

Дело в тому, что начиная с версии 0.9.15 Filezilla Server передает русские (да и прочие не английские) имена файлов в кодировке UTF-8. Хотя данное поведение и является правильным с точки зрения стандартов, многие FTP-клиенты в результате показывают вместо русских имен файлов и каталогов нечитаемые символы, в то время, как с более старыми версиями сервера они работают относительно корректно. К сожалению, настройки сервера не позволяют изменить кодировку, в которой будут отдаваться списки файлов.

Решения два.

Первое — для клиентов, поддерживающих отправку произвольной команды на сервер (тот же Far и ftp.exe это умеют). После входа на FTP сервер нужно набрать в консоли команду
opts utf8 off
, а затем заново запросить список файлов (Ctrl+R в Far или ls (enter) в клиенте командной строки). Новый список файлов придет уже в системной кодировке сервера по умолчанию, т.е. cp1251.

Второе — универсальное. Нужно установить пропатченную версию FileZilla, в которой по умолчанию режим UTF-8 отключен.
Для этого:
  1. Скачиваем оригинальный FileZilla Server отсюда:
    filezilla-project.org
  2. Устанавливаем
  3. Идем в панель управления-администрирование-службы, и останавливаем службу FileZilla Server, если она запущена
  4. Скачиваем пропатченную версию FileZilla Server отсюда:
    sourceforge.net/projects/filezillapv
    (прямой линк на файл)
  5. Достаем из архива FileZilla server.exe, и кладем его в папку установки сервера (обычно это C:\Program Files\FileZilla Server)
  6. Идем в панель управления-администрирование-службы, и запускаем службу FileZilla Server
Все, теперь по умолчанию проблем с кодировкой при заходе на сервер не будет — он будет работать в системной кодировке (т.е. cp1251).

UPD: Far manager версии 2.0 поддерживает UTF-8 в FTP клиенте, так что описанные хитрости теряют актуальность.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+5
Comments 6
Comments Comments 6

Articles