한 시스템에서 영어 이외의 문자가 포함 된 다른 시스템으로 파일을 전송하고 싶습니다. 그렇다면 FTP가 UTF 문자셋을 지원합니까?FTP가 UTF 문자 집합을 지원합니까?
답변
FTP 프로토콜에 대해 말하면 지원되는 것 같습니다.
FTP 프로토콜은 RFC 854에 텔넷 의 관련 섹션을 지정하는 FTP 프로토콜은 원래 텔넷 프로토콜의 상단에 설계되어 1985 에 발표 된 RFC 959, 에 지정된 FTP에 관한 사양은 Network Virtual 터미널 (NVT)을 포함합니다. RFC 854에 따르면 NVT는 문자 집합으로 (7 비트) ASCII를 사용해야합니다. 다른 문자 세트 을 사용하려면 명시 적 협상이 필요합니다. 이 문자 집합에는 127 개의 다른 문자 (영어 문자 및 숫자, 문장 부호 및 소수의 제어 문자) 만 포함됩니다. 악센트 부호가있는 문자, 움라우트 또는 다른 문자는 ASCII 문자 집합에 포함되어 있지 않습니다. 영어 이외의 문자를 지원하기 위해 을 주문하면 FTP 사양은 이 1999 년 RFC 2640으로 확장되었습니다.이 확장을 사용하려면 문자 집합으로 UTF-8 을 사용해야합니다. 이 문자 집합은 ASCII의 엄격한 수퍼 집합이며 모든 유효한 ASCII 문자는 UTF-8의 동일한 문자이기도합니다. UTF-8 문자 세트는 유효한 유니 코드 문자를 표시 할 수 있습니다. 여기에는 움라우트, 악센트 부호가있는 문자 및 다른 스크립트가 포함됩니다. 이 확장은 RFC 959와 완벽하게 호환됩니다. 영문 문자 만 사용하는 한 으로 오래 걸리므로 사용중인 소프트웨어가 RFC 2640을 지원하는지 여부는 중요하지 않습니다. 그러나 RFC 2640 호환 소프트웨어를 사용하지 않고 영어가 아닌 문자를 사용하는 경우 사양을 따르지 않아서 완전히 자체적으로 문제가 발생합니다.
당신은 우리가 이야기하고있는 것은 파일 이름 유니 코드 지원이다 here
더 읽을 수 있습니다. UTF-8로 인코딩 된 파일을 전송하려면 "binary"모드를 사용하십시오.
RFC 2640은 원본 FTP 사양을 비 ASCII 파일 이름을 지원하도록 확장했지만 모든 FTP 서버 또는 FTP 클라이언트가이를 지원하는 것은 아닙니다.
당신은 클라이언트의 명령 터미널에서 다음을 실행하여 서버 구현을 확인할 수 있습니다
FEAT
및 확인 :
UTF8
을 응답에. 그렇지 않은 경우, 원격 측의 8 비트 인코딩을 추측하거나 파일 이름을 ASCII로 변환해야합니다.
파일 이름에 유니 코드 문자 또는 파일의 내용이 있습니까? –