在FTPClient ftpClient = new FTPClient()代码后,
ftpClient.connect(url,port)代码前,
调用ftpClient.setAutodetectUTF8(true); 即可解决中文问题。
曾尝试过在调用ftpClient.connect(url,port)创建连接成功后,再调用setAutodetectUTF8(true),但是没有效果。
以上方法只适用哪些支持UTF-8字符集的操作系统,我碰到的是一台AIX5.3的操作系统,使用上面的方法问题依然存在,使用locale命令查看当前设置的字符集,发现是en_US,再使用locale -a命令查看系统当前已经安装的语言包,发现没有utf-8的字库,但是有zh_CN.IBM-encCN,因此还是将上面自动识别utf-8的代码去掉,老老实实的用new String(filename.getBytes("GBK"),"ISO-8859-1")的方式处理中文文件名,果然中文问题解决。