Apache Commons Net FTPClient 中的文件名编码

2022-01-09 00:00:00 utf-8 ftp java apache-commons-net

我必须将文件上传到 FTP 服务器.文件名包含特殊字母,例如 äöü.在 FTP 服务器上,我需要将文件名进行 UTF-8 编码.

I have to upload a file to an FTP server. The filename contains special letters, say äöü. On the FTP server, I need the filename to be UTF-8 encoded.

我的代码是这样的:

import org.apache.commons.net.ftp.FTPClient;

FTPClient client = new FTPClient();

...

boolean retval = client.storeFile(fileName, inputStream);

问题是在storeFile之后,FTP服务器上保存的文件名是ISO-8859-1编码而不是UTF-8.

The problem is that after storeFile, the name of the file saved on the FTP server is ISO-8859-1 encoded rather than UTF-8.

如何告诉 FTPClient 对文件名进行 UTF-8 编码?

How can I tell FTPClient to UTF-8 encode the file names?

推荐答案

我没测试过,你可以试试这个:

I have not tested it, but you can try this:

client.setControlEncoding("UTF-8");

相关文章