Многие из нас пользуются замечательным 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 отсюда: или 2. Идем в панель управления-администрирование-службы, и останавливаем службу FileZilla Server, если она запущена 3. Скачиваем пропатченную версию FileZilla Server отсюда: 4. Достаем из архива FileZilla server.exe, и кладем его в папку установки сервера (обычно это C:\Program Files\FileZilla Server) Идем в панель управления-администрирование-службы, и запускаем службу FileZilla Server.
Все, теперь по умолчанию проблем с кодировкой при заходе на сервер не будет — он будет работать в системной кодировке (т.е. cp1251).
Источник: http://habrahabr.ru/blogs/i_am_clever/39093/ |