문제 설명:
org.apache.commons.net.ftp.FTPClient를 사용하여 중국어 디렉터리를 생성하고 중국어 파일 이름을 업로드할 때 디렉터리 이름과 파일 이름의 중국어가 "??"로 표시됩니다.
이유:
FTP 프로토콜에서는 파일 이름 인코딩이 iso-8859-1이므로 디렉터리 이름이나 파일 이름을 트랜스코딩해야 합니다.
해결책:
1. 중국어 디렉터리 또는 파일 이름을 iso-8859-1 인코딩 문자로 변환합니다. 참조 코드:
name=new String(name.getBytes("GBK"),"iso-8859 -1" );//디렉토리 이름 또는 파일 이름을 변환했습니다.
2. Linux 환경 변수를 설정합니다.
예제 :
public boolean upLoadFile(File file, String path, String fileName) throws IOException {
boolean result = false;
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(confService.getConfValue (PortalConfContants. FTP_CLIENT_HOST)));
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE) null (경로 != && !"".equals(path.trim())) {
out out of (path ! null || .equals(onepath.trim())) {
859-1"); > ~ ,"iso-8859 -1")
잡기(예외 }
결과 반환
}
재인쇄:
위 내용은 Java에서 FTPClient에 의해 업로드된 중국어 디렉토리 및 파일 이름이 왜곡되는 문제에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!