0

我有一个可以在 Ftp 服务器中下载特定文件的工作应用程序。我有我要下载的文件名,所以我只是连接和使用: ftp.retrieveFile(filename, fileInputStream);

所以现在我们不得不改变 ftp 服务器,我认为这个新的 ftp 服务器在 linux 下运行(旧的是 windows)。现在我无法下载名称包含 ISO-8859-1 字符串的文件,例如 ç ã á ó õ。我尝试在 FTPClient 的构造函数之后使用 ftpClient.setControlEncoding("ISO-8859-1") ,但它没有用。当调用 retrevieFile 时,它​​返回 false,因为它找不到文件。但它适用于没有这些字符串的文件名。

我正在从另一个文件中读取文件名......我犯了一个错误,我读到文件名为 ISO_8859-1(但它在文件中被编码为 UTF-8),然后尝试 retrevieFile 并且它使用奇怪名称中的字符。怎么了??

编辑:

这是来自服务器的答案:

SYST 215 UNIX 类型:L8

FEAT 211-特点:EPRT EPSV MDTM PASV REST STREAM SIZE TVFS 211 End

4

1 回答 1

0

好的,这已经解决了。我意识到 gftp 正在上传名称中编码错误的文件。它使用的是 UTF8

于 2010-11-26T11:30:35.563 回答