FTPプロトコル、Jakarta Commons Net、Filenameエンコード問題
-
28-09-2019 - |
質問
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-features:EPRT EPSV MDTM PASV RESTストリームサイズTVFS 211 END
解決
わかりました、これは解決されました。 GFTPが名前の間違ったエンコードを備えたファイルをアップロードしていることに気付きました。 UTF8を使用していました
所属していません StackOverflow