2010-11-26 1 views
0

ftp 서버에 특정 파일을 다운로드하는 작업 응용 프로그램이 있습니다. 다운로드 할 파일 이름이 있으므로 연결하고 사용하고 있습니다. ftp.retrieveFile (filename, fileInputStream);FTP 프로토콜, jakarta commons net, 파일 이름 인코딩 문제

이제 우리는 ftp 서버를 변경해야했습니다. 그리고이 새로운 하나의 ftp 서버는 리눅스에서 실행됩니다 (예전의 것은 windows였습니다). 이제 ISO-8859-1 문자열이 포함 된 이름으로 파일을 다운로드 할 수 없습니다 (예 : ç ã áóóõ). FTPClient의 생성자 바로 다음에 ftpClient.setControlEncoding ("ISO-8859-1")을 사용하려고했지만 작동하지 않았습니다. retrevieFile이 호출되면 파일을 찾지 못하기 때문에 false를 반환합니다. 하지만 그 문자열없이 파일 이름으로 잘 작동합니다.

다른 파일에서 파일 이름을 읽는 중 ... 파일을 ISO_8859-1 (하지만 파일에서 UTF-8로 인코딩 됨)로 파일 이름을 한 번 읽은 다음 retrevieFile로 시도했습니다. 그 이름에 이상한 인물들과 함께 작업했습니다. 무슨 일 이니?

편집 :

SYST 215 UNIX 유형 : L8

FEAT (211) - 특징 : EPRT EPSV MDTM PASV REST의 STREAM

이 서버에서 답변입니다 SIZE TVFS 211 끝

답변

0

확인 이것은 해결되었습니다. gftp가 이름에 잘못된 인코딩을 사용하여 파일을 업로드하고 있음을 알게되었습니다. 그것은 UTF8을 사용했습니다