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

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

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


Присылайте нам Донат :), напишите за что прислали )


Ответ
 
Опции темы
Старый 29.08.2018, 12:15   #1
lypyotr
Пользователь
 
Регистрация: 19.07.2011
Сообщений: 33
Репутация: 10
По умолчанию Проблема с кириллицей при листинге файлов на FTP

Здравствуйте. Возникла проблема при попытке получить список файлов на FTP-сервере с названиями на кириллице. При попытке перейти в каталог "Тест1" появляется ошибка "550 Can't change directory to /FTP/????1: No such file or directory".

Код рекурсивного листинга:
Код:

procedure ListDir(Remote: string);
var
LS: TStringList;
i,k: integer;
begin
Form1.Stop:=False;
LS:= TStringList.Create;
try
Form1.idFTP1.ChangeDir(Remote);
Form1.idFTP1.List(LS);
if LS.Count > 0 then begin
k:= LS.Count;
LS.Clear;
for i:= 0 to k-1 do begin
Application.ProcessMessages;
if form1.stop then break;
if (Form1.idFTP1.DirectoryListing.Items[i].FileName <> '.') and (Form1.idFTP1.DirectoryListing.Items[i].FileName <> '..') then begin
if Form1.idFTP1.DirectoryListing.Items[i].ItemType = ditDirectory then begin
LS.Add(Form1.idFTP1.DirectoryListing.Items[i].FileName);
end else begin
Form1.ListBox1.Items.Add('File: '+Remote+'/'+Form1.idFTP1.DirectoryListing.Items[i].FileName);
end;
end;
Form1.timer:=0;
end;

for i := 0 to LS.Count - 1 do begin
Application.ProcessMessages;
ListDir(Remote+'/'+LS[i]);
Form1.idFTP1.ChangeDir(Remote);
end;
end;
finally
LS.Free;
end;
end;

Вызов процедуры:
Код:

ListDir(path1);

"path1" читается из ini-файла

Лог:
Код:

Resolving hostname files.000webhost.com.
Connecting to 145.14.144.87.
Connected.
<<- 220 ProFTPD Server (000webhost.com) [::ffff:145.14.144.87]
->> HOST files.000webhost.com
<<- 504 files.000webhost.com: Unknown hostname provided
->> USER username
<<- 331 User sweetbread OK. Password required
->> PASS password
<<- 230-Your bandwidth usage is restricted
<<- 230 OK. Current restricted directory is /
->> FEAT
<<- 211-Features:
<<-  AUTH TLS
<<-  CCC
<<-  CLNT
<<-  EPRT
<<-  EPSV
<<-  HOST
<<-  MDTM
<<-  MFF modify;UNIX.group;UNIX.mode;
<<-  MFMT
<<-  MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.groupname*;UNIX.mode*;UNIX.owner*;UNIX.ownername*;
<<-  PBSZ
<<-  PROT
<<-  RANG STREAM
<<-  REST STREAM
<<-  SIZE
<<-  SSCN
<<-  TVFS
<<- 211 End
->> CLNT Indy 10.6.2.5366
<<- 500 Unknown command
->> TYPE I
<<- 200 TYPE is now 8-bit binary
->> SYST
<<- 215 UNIX Type: L8
->> TYPE I
<<- 200 TYPE is now 8-bit binary
Connection established
->> CWD /FTP
<<- 250 OK. Current directory is /FTP
Starting FTP transfer
->> PASV
<<- 227 Entering Passive Mode (145,14,144,87,186,1).
->> MLSD
<<- 150 Connecting to port 44096
<<- 226-Options: -a -l 
<<- 226 3 matches total
Transfer complete
->> CWD /FTP/????1
<<- 550 Can't change directory to /FTP/????1: No such file or directory

Screenshot_4.png
lypyotr вне форума   Ответить с цитированием
Старый 29.08.2018, 18:03   #2
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
Репутация: 62
По умолчанию

а так?
// Application.ProcessMessages;
XerSon вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод в ListView каталогов по заданному критерию (TDirectory, TPath) проблема с кириллицей Seikeron Общие вопросы Delphi 4 03.04.2018 02:27
В SQL запросе при использовании LIKE не ищет по маске с кириллицей (русскими буквами) nelo_001 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 14 21.12.2015 00:52
FTP. лишние байты при отправке файлов rachina Работа с сетью в Delphi 0 01.12.2015 03:37
Всё та же проблема с кириллицей в БД Prok186 БД в Delphi 0 01.11.2011 09:36


23:45.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru