как закодировать букву "я" при работе с ftp через соккеты?

gray07

Новичок
как закодировать букву "я" при работе с ftp через соккеты?

Некоторые ftp сервера (или клиенты?) неправильно обрабатывают имена файлов, в которых есть буква "я", но есть клиенты, которые умеют работать с такими серверами нормально.

С помощью гугла удалось выяснить, что все дело в том, что "я" - это управляющий символ в telnet, и из-за этого эта проблема.
Все, что я смог найти, это патчи для таких ftp серверов, но мне нужено именно правильно работать с таким сервером. Сервер не мой, и не он один такой.

Кто нибудь знает как можно закодировать букву "я" при работе с ftp через соккеты?
 

gray07

Новичок
Я хочу именно стянуть файл с именем, в котором есть "я", с такого ftp сервера, работая с ним через соккеты.
 

Vladson

Сильнобухер
gray07
RFC-454 глянь. (не помню точно т.к пишу по памяти, но вроде в нём всё это есть)
 

nerezus

Вселенский отказник
gray07
а разве FTP должен работать с кириллицей(и т.д.) в именах файлов?
Мне на самом деле интересно.
Т.е. именно «должен», а не «может».
 

gray07

Новичок
Я нашел решение, нужно просто удваивать эту "я" (код FF для кодировки cp1251)

nerezus
"The character set used to store files SHALL remain a local decision and MAY depend on the capability of local operating systems" из RFC 2640
 

Активист

Активист
Команда форума
nerezus
А почему не должен. Мотируя раздел винды в Unix ты же не задаешься вопросом - а должен ли? ты просто мотируешь указывая кодировку.
 

nerezus

Вселенский отказник
Активист
Ну в FTP нет комманды указания кодировки, поэтому сервер не знает, в какой кодировке ему отправляют.
Например с винды заливают на линух - на линухе будут кракозяблики.
Можно поставить конечно один из костыльных патчей(типа cp1251=>utf-8 и обратно) для перекодировки, но тогда кракозяблики будут уже при заливании с линуха на линух.
Да и просто при передаче с линуха(утф-8) на линух(кои8-р) будут кракозяблики.
 

gray07

Новичок
Автор оригинала: nerezus
Ну в FTP нет комманды указания кодировки, поэтому сервер не знает, в какой кодировке ему отправляют.
Например с винды заливают на линух - на линухе будут кракозяблики.
Можно поставить конечно один из костыльных патчей(типа cp1251=>utf-8 и обратно) для перекодировки, но тогда кракозяблики будут уже при заливании с линуха на линух.
Да и просто при передаче с линуха(утф-8) на линух(кои8-р) будут кракозяблики.
Перекодировкой вроде как должен заниматься клиент?
 
Сверху