FTP 서버는 UTF-16 인코딩을 지원합니까?

FTP 서버는 UTF-16 인코딩을 지원합니까?

다양한 인코딩 기술에 대한 지원서를 확인하고 있습니다. FTP 서버와 관련된 사용 사례 중 하나에서는 UTF-16과 관련된 내용이 전혀 표시되지 않습니다. 즉, UTF-8이 있으면 FTP 서버에 로그인할 수 있고 UTF-16으로 변경하면 FTP 서버에 로그인할 수 없다는 의미입니다. 해당 서버의 클라이언트에서 "FEAT"를 실행했는데 응답에 UTF-16이 표시되지 않습니다. 내 FTP 서버가 이를 지원하지 않는다는 뜻인가요?

명령을 실행하여 FTP 서버에서 UTF-8을 활성화할 수 있습니다 OPTS UTF8 ON. FTP 서버에서 UTF-16을 활성화할 수 있거나 UTF-16을 지원하지 않는 명령이 있습니까??

FEAT아래는 명령 의 응답입니다.

Command:    FEAT
Response:   211-Features:
Response:    MDTM
Response:    REST STREAM
Response:    SIZE
Response:    MLST type*;size*;modify*;perm*;
Response:    MLSD
Response:    AUTH SSL
Response:    AUTH TLS
Response:    PROT
Response:    PBSZ
Response:    **UTF8**
Response:    TVFS
Response:    EPSV
Response:    EPRT
Response:    MFMT
Response:   211 End

** 참고: HTTP/HTTPS는 로그인할 수 있는 UTF-8과 UTF-16을 모두 지원합니다.

Codng를 시작하기 전에 시도한 단계

  1. FTP 서버는 디렉토리를 사용하여 로컬로 생성됩니다.

  2. FTP 클라이언트(FileZilla)에서 FTP 서버에 연결

    아래는 로그입니다. 상태: 연결이 설정되었습니다. 환영 메시지를 기다리는 중... 응답: ㈲ⴰ楆敬楚汬⁡敓癲牥ㄠ㐮ㄮ 오류: 서버에 연결할 수 없습니다. 상태: 재시도를 기다리는 중... 상태: 주소 확인 중 of localhost 상태: 127.0.0.1:21에 연결 중... 상태: 연결이 설정되었으며 환영 메시지를 기다리는 중... 응답: ㈲ⴰ楆敬楚汬⁡敓癲牥ㄠ㐮ㄮ 오류: 서버에 연결할 수 없습니다.

답변1

FTP는 UTF-16을 지원하지 않습니다. 명령과 응답에 ASCII를 사용하는 텍스트 기반 프로토콜입니다. UTF-8은 ASCII의 상위 집합이기 때문에만 지원할 수 있습니다(예: 다음과 같은 명령은 FEAT두 가지 모두에서 정확히 동일한 방식으로 인코딩됩니다). ISO-8859와 같은 이전 인코딩에도 동일하게 적용되지만하지 않습니다UTF-16에 적용 - 초기 서버 인사말(항상 ASCII 형식)은 UTF-16을 기대하는 클라이언트에서 이해되지 않으며 UTF-16으로 전송된 명령은 서버에서 이해되지 않습니다.

그러나 일반적으로 두 인코딩을 모두 지원할 실제적인 필요는 없습니다. UTF-8과 UTF-16은 모두 동일한 유니코드 코드 포인트를 다르게 표현한 것일 뿐입니다. UTF-16으로 인코딩할 수 있는 파일 이름은 UTF-8로 인코딩할 수도 있고 그 반대의 경우도 마찬가지입니다. 예를 들어, Windows가 내부적으로 파일 이름으로 UTF-16을 사용하더라도 Windows FTP 서버는 여전히 UTF-8을 사용하고 필요에 따라 둘 사이를 변환합니다.

관련 정보