質問

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を使用していました

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top