Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 26.01.2010, 11:02   #1
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
Злость IdFTP and CharSet (кодировка имен файлов)

Установил новую версию Indy - 10.5.7. Да, я знаю, что с версии 10.5.5 компоненты инди "поумнели" и сами определяют кодировку. Не понятно только в какую сторону поумнели.

Проблема с кодировкой имен файлов.
На сервере (Windows + Serv-U, настройка utf8 отключена) все имена файлов в кодировке Win1251.
А "умный" idFtp, наверное, думает, что на той стороне все имена файлов в юникоде.
Serv-U отдаёт имена файлов в кодировке win-1251.

Код:
IdFTP.List(slDirs,'*.*',false);
...
...

IdFTP.get(IdFTP.DirectoryListing[h].FileName, sInPhotoFolder+IdFTP.DirectoryListing[h].FileName, true);
Получаем в дыню
raised exception class EIdReplyRFCError with message '/photoout/aiia-106160.rar: No such file or directory.
X11 вне форума Ответить с цитированием
Старый 26.01.2010, 11:04   #2
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
По умолчанию

я даже не пойму, что это за кодировка:
aiia-106160.rar

а должно быть
дома-106160.rar
X11 вне форума Ответить с цитированием
Старый 26.01.2010, 12:21   #3
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
По умолчанию

Прописал в коде 2 строки
Код:
IdFTP.IOHandler.DefStringEncoding := en7Bit;
IdFTP.MLis := False;
Но теперь получаю исключение:
Цитата:
raised exception class EIdReplyRFCError with message 'Syntax error in parameters or arguments.'
на этой строке
Код:
IdFTP.get(IdFTP.DirectoryListing[h].FileName, sInPhotoFolder+IdFTP.DirectoryListing[h].FileName, true);
X11 вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
charset=iso-8859-1 и alert() LevonNikox PHP 5 16.09.2009 22:34
idFTP и TreeView vitawt Работа с сетью в Delphi 3 21.02.2009 02:04
Проблема с IDFTP esy Работа с сетью в Delphi 4 04.12.2008 18:22
Перевод длинных имен файлов в короткие... ActiveX Помощь студентам 1 24.10.2008 15:47
Показ всех имен файлов в каталоге[Delphi] sergey31 Помощь студентам 2 27.07.2008 15:43


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Скидки на курсы GeekBrains 40%, выбирайте программу для себя