Протокол FTP, сеть Джакарты, проблема с кодировкой имени файла - PullRequest
0 голосов
/ 26 ноября 2010

У меня есть работающее приложение, которое загружает определенный файл на FTP-сервер.У меня есть имя файла, которое я хочу скачать, поэтому я просто подключился и использовал: ftp.retrieveFile (filename, fileInputStream);

Так что теперь нам пришлось сменить ftp-сервер, и я думаю, что этот новый ftp-серверработает под Linux (старый был Windows).Теперь я не могу загружать файлы с именем, которое содержит строки ISO-8859-1, например, ç ã à ó õ.Я пытался использовать ftpClient.setControlEncoding ("ISO-8859-1") сразу после конструктора FTPClient, но он не работал.когда вызывается retrevieFile, он возвращает false, потому что не может найти файл.Но он отлично работает с именами файлов без этих строк.

Я читаю имя файла из другого файла ... Однажды я сделал ошибку, прочитав, имя файла как ISO_8859-1 (но оно было закодировано какUTF-8 в файле), а затем попытался восстановить файл, и он работал со странными символами в имени.Что происходит ??

РЕДАКТИРОВАТЬ:

Это ответы с сервера:

SYST 215 UNIX Тип: L8

FEAT 211-Особенности: EPRTEPSV MDTM PASV РАЗМЕР ПОТОКА ОТДЫХА TVFS 211 Конец

1 Ответ

0 голосов
/ 26 ноября 2010

ОК. Это было решено.Я понял, что gftp загружает файлы с неправильной кодировкой в ​​имени.Он использовал UTF8

...