2
아파치의 commons-net 3.5를 사용하여 원격 FTP 서버에 파일을 업로드하고 연결을 열기 전에 연결 인코딩을 아래와 같이 UTF-8로 설정하고 있습니다.FTP 파일 업로드 - 파일 이름 인코딩 오류
ftpClient.setAutodetectUTF8(true);
ftpClient.setControlEncoding("UTF-8");
그리고이 파일 여기
private void uploadFile(byte[] data, String path, String fileName, FTPClient ftpClient) throws IOException {
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.setFileTransferMode(FTPClient.BINARY_FILE_TYPE);
boolean uploadSuccess = ftpClient.storeUniqueFile(fileName, new ByteArrayInputStream(data));
를 전송하는 부분은 문제가; 이름에 터키어 문자가 포함 된 파일을 보낼 때 결과 파일의 이름이 잘못 지정됩니다. 마찬가지로
Kimlikş.pdf -> KimlikÅ.pdf
ftp4j을 사용하면 모든 것이 정상적으로 작동합니다. 누구든지 전에 이것을 가졌습니까? 데이터가 제 편으로 부적절하게 배송됩니다. Microsoft 네트워크 모니터로 트래픽을 모니터링했습니다. 여기에 원시 요청입니다 : 나는 아파치의 평민 - 그물 버그가 있었다 생각
FTP FTP:Request from Port 62642,'STOR KimlikÅ.pdf' {TCP:5879, IPv4:134}
특히 원격 시스템에서 적절한 문자 세트를 사용하고 있는지 확인하십시오. 원격 파일 시스템이 win-1252를 사용한다면 UTF-8 파일 이름을 클라이언트로부터 보내는 것이 무의미합니다. –
'ftpClient.setCharset (StandardCharsets.UTF_8); ' –
@ 마크, 나는 서버 측에서도 같은 문자 세트를 사용하고있다. –