以下是代码片断:import sun.net.ftp.FtpClient;FtpClient ftpClient = new FtpClient(this.ftpServer);
ftpClient.openServer(this.ftpServer,this.ftpPort);
ftpClient.login(this.ftpUser, this.ftpPassword);
ftpClient.binary();
ftpClient.cd("\\");
this.ftpClient.put(p_fileName);
问题:当p_fileName的值为英文字符时正常,如果出现中文字符,出报如下错误:
sun.net.ftp.FtpProtocolException: 501 Syntax error in parameters or arguments. at sun.net.ftp.FtpClient.openDataConnection(FtpClient.java:385)
at sun.net.ftp.FtpClient.put(FtpClient.java:594)
请问各位达官贵人有遇到这种问题吗?给一个解决方案吧?谢谢。目前我只好先:p_fileName = java.net.URLEncoder.encode(p_fileName);
不过这样有一个问题就是,中文全部成了类似于这样的形式:%C8%CB%D0%D4%B5%C4%C8%F5%B5%E3.doc