- - PR -
FTPClientを使って日本語ファイル名をPUT
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-07-30 12:20
FTPサーバーに日本語ファイル名であるファイルをアップロードしたいですが、
org.apache.commons.net.ftp.FTPClientのFTPClientを使ったらアップロードしたファイル名は文字化けになっています。 対処法についてご教示願えますでしょうか。 宜しくお願いします。 fp.connect("xxx.xxx.xxx.xx"); if (!FTPReply.isPositiveCompletion (fp.getReplyCode())) { // 異常終了 } if (fp.login("login", "password") == false) { // ログインできたか? // 異常終了 } reply = fp.getReplyCode(); String transferFile = new String("ファイル.zip"); FileInputStream is = new FileInputStream(transferFile);// クライアント側 fp.setFileType(fp.BINARY_FILE_TYPE); if (!fp.storeFile("/DirA/" + transferFileName, is)) { // サーバー側 System.out.println("STOREFILE ERROR "); } is.close(); fp.disconnect(); | ||||
|
投稿日時: 2007-07-30 13:15
FTPクラスのsetControlEncodingメソッドで指定できると思います。
※質問するときには、必ずバージョンなどの環境情報を書きましょう | ||||
|
投稿日時: 2007-07-30 15:57
大変失礼しました。
JDK1.5, commons.net-1.4.1バージョンを使っています。 FTPサーバー→LINUXです setControlEncodingメソッドを指定してみたんですけど、同じく文字化けになっています。 fp.setControlEncoding("SJIS"); 他の対処法をご教示願えますでしょうか。 宜しくお願いします。 | ||||
|
投稿日時: 2007-07-30 16:37
サーバ側の文字コードに合わせないとダメなのでは?。 一般的に、サーバ側の環境に合わせるのがセオリーです。 |
1