Подсознание →
FileZilla Server, unicode, cp1251 и русские буквы
Многие из нас пользуются замечательным FTP сервером FileZilla Server. Думаю, не я один столкнулся с проблемой некорректного отображения русских букв в списках файлов с этого сервера в FTP-клиентах, не поддерживающих UTF-8 (к которым, в том числе, относится и встроенный FTP клиент Far'а, и встроенный в windows клиент командной строки).
Расскажу о том, как можно решить эту проблему.
Но сначала — короткая предыстория.
Дело в тому, что начиная с версии 0.9.15 Filezilla Server передает русские (да и прочие не английские) имена файлов в кодировке UTF-8. Хотя данное поведение и является правильным с точки зрения стандартов, многие FTP-клиенты в результате показывают вместо русских имен файлов и каталогов нечитаемые символы, в то время, как с более старыми версиями сервера они работают относительно корректно. К сожалению, настройки сервера не позволяют изменить кодировку, в которой будут отдаваться списки файлов.
Решения два.
Первое — для клиентов, поддерживающих отправку произвольной команды на сервер (тот же Far и ftp.exe это умеют). После входа на FTP сервер нужно набрать в консоли команду
Второе — универсальное. Нужно установить пропатченную версию FileZilla, в которой по умолчанию режим UTF-8 отключен.
Для этого:
UPD: Far manager версии 2.0 поддерживает UTF-8 в FTP клиенте, так что описанные хитрости теряют актуальность.
Расскажу о том, как можно решить эту проблему.
Но сначала — короткая предыстория.
Дело в тому, что начиная с версии 0.9.15 Filezilla Server передает русские (да и прочие не английские) имена файлов в кодировке UTF-8. Хотя данное поведение и является правильным с точки зрения стандартов, многие FTP-клиенты в результате показывают вместо русских имен файлов и каталогов нечитаемые символы, в то время, как с более старыми версиями сервера они работают относительно корректно. К сожалению, настройки сервера не позволяют изменить кодировку, в которой будут отдаваться списки файлов.
Решения два.
Первое — для клиентов, поддерживающих отправку произвольной команды на сервер (тот же Far и ftp.exe это умеют). После входа на FTP сервер нужно набрать в консоли команду
opts utf8 off, а затем заново запросить список файлов (Ctrl+R в Far или ls (enter) в клиенте командной строки). Новый список файлов придет уже в системной кодировке сервера по умолчанию, т.е. cp1251.
Второе — универсальное. Нужно установить пропатченную версию FileZilla, в которой по умолчанию режим UTF-8 отключен.
Для этого:
- Скачиваем оригинальный FileZilla Server отсюда:
filezilla-project.org/ - Устанавливаем
- Идем в панель управления-администрирование-службы, и останавливаем службу FileZilla Server, если она запущена
- Скачиваем пропатченную версию FileZilla Server отсюда:
sourceforge.net/projects/filezillapv/
(прямой линк на файл)
- Достаем из архива FileZilla server.exe, и кладем его в папку установки сервера (обычно это C:\Program Files\FileZilla Server)
- Идем в панель управления-администрирование-службы, и запускаем службу FileZilla Server
UPD: Far manager версии 2.0 поддерживает UTF-8 в FTP клиенте, так что описанные хитрости теряют актуальность.
05.12.2007 19:09+0300