[Sysadmins] проблема с utf8 и proftpd

Afanasov Dmitry ender на altlinux.org
Пт Июл 10 20:22:38 MSD 2009


On Fri, Jul 10, 2009 at 06:52:17PM +0400, AShen wrote:
> On 10.07.2009 18:18, Slava Dubrovskiy wrote:
> > разве протокол ftp поддерживает передачу кодировки?
> 
> Насколько мне известно, нет.
ftp протокол поддерживает выбор языка общения (LANG) и выводить в utf8 или
asis (OPTS UTF8 ON). proftpd очень долго сопротивлялся вводу этих команд,
аргументируя тем, что это все drafts, но вот - теперь свершилось.

> Для proftpd-1.3 опции CharsetLocal, CharsetRemote не действительные.
> Вместо них опции LangEngine on, UseEncoding UTF8 CP1251.
верно. при установке/обновлении даже производится попытка закоментировать
данные параметры и пишется warning.

> Наш proftpd-1.3 собран с поддержкой NLS.
кодировка вывода и nls вещи перпендикулярные.

mod_lang обрабаывает команды OPTS UTF8 ON и команду LANG.

OPTS UTF8 ON позволяет выдавать листинг в utf8 кодировке по запросу
клиента.

LANG переключает язык, на котором выдаются служебные сообщения (пример:
Login incorrect --> Accesso non valido, LANG it). на данный момент
поддерживаются языки zh_CN, en_US, it_IT. для русского нужно писать po
файл.

конфиг-команды: 
LangDefault переключает язык по умолчанию. сейчас это en_US.

UseEncoding - команда перекодировки.

надо отметить, что UseEncoding on включает поддержку opts utf8 on, когда
UseEncoding utf8 cp1251 включает explicit encoding и выключает поддержку
opts utf8 on.

основная проблема: при explicit encoding (это было и в прошлом патче)
сохраняется проблема с буквой "я" в koi8-r, при UseEncoding on
включается поддержка opts utf8 on и проблема с "я" пропадает. именно
поэтому и был выбран mod_lang.

opts utf8 on на данный момент поддерживают практически все клиенты, кроме
IE 6 (вот черт, да?).

хотя даже с включенным opts в lftp всплывала проблема с показом -
показывались ???. почему - пока не разобрался.

> > Во всяком случае я это решал путем указывания правильной кодировки в
> > клиенте.
> 
> Самое лучшее решение. Тут я с тобой полностью согласен.
самое рабочее решение - выбор cp1251 для сервера.
-- 
 С уважением
 Афанасов Дмитрий
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/sysadmins/attachments/20090710/1f3aa96d/attachment.bin>


Подробная информация о списке рассылки Sysadmins