2010-11-26 26 views
0

我有一個工作的應用程序,下載Ftp服務器中的特定文件。 我有我要下載的文件名,所以我只是連接和使用: ftp.retrieveFile(filename,fileInputStream);FTP協議,雅加達公共網絡,文件名編碼問題

所以現在我們不得不改變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

回答

0

OK這已解決。 我意識到gftp正在上傳名稱中編碼錯誤的文件。它使用UTF8