解决,文件上传到 ftp 服务器,中文出现乱码问题

2022-04-13 10:01:47 浏览数 (1)

上传到 ftp 服务器,中文出现乱码解决,之前文件名 “ 网关信息 ” 始终不能正确显示,尝试了多种编码,最后GB2312 为可以用的编码,

效果:

我遇到的 ftp 服务是设置编码为:GB2312 。注意要在 connect 之前就设置编码

ftpClient.setControlEncoding("GB2312");

代码语言:javascript复制
   /** 
    * 参数获取FTPClient对象 
    * @param ftpHost FTP主机服务器 
    * @param ftpPassword FTP 登录密码 
    * @param ftpUserName FTP登录用户名 
    * @param ftpPort FTP端口 默认为21 
    * @return 
    */  
   public static FTPClient getFTPClientByParam(String ftpHost, String ftpPassword,  
           String ftpUserName, int ftpPort) {  
	   
       FTPClient ftpClient = null;  
       try {  
           ftpClient = new FTPClient();  
           ftpClient.setControlEncoding("GB2312");
           ftpClient.connect(ftpHost, ftpPort);// 连接FTP服务器  
           ftpClient.login(ftpUserName, ftpPassword);// 登陆FTP服务器  
           if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {  
               logger.info("未连接到FTP,用户名或密码错误 !");  
               ftpClient.disconnect();  
           } else {  
               logger.info("FTP连接成功。");  
           }  
       } catch (SocketException e) {  
           e.printStackTrace();  
           logger.info("请检查FTP的IP地址 ! ");  
       } catch (IOException e) {  
           e.printStackTrace();  
           logger.info("请核对FTP的端口 ! ");  
       }  
       return ftpClient;  
   } 
ftp

0 人点赞