내부적으로 대부분의 파일 시스템은 바이트를 저장합니다. 파일 시스템 드라이버는 바이트의 의미를 신경 쓰지 않습니다. Linux 및 대부분의 다른 최신 유니스의 일반 파일 시스템 드라이버를 사용 /
하면 널 바이트 이외의 다른 바이트가 파일 이름에 나타날 수 있습니다.
인코딩 제약이있을 수있는 파일 시스템이 있습니다 (일반적으로 FAT 또는 NTFS와 같은 비원시 파일 시스템). Samba와 같은 일부 네트워크 파일 시스템은 서버 인코딩과 클라이언트 인코딩간에 변환 할 수 있습니다. 서버 및 클라이언트 구성이 일관된 지 확인해야합니다.
일반적으로 대부분의 시스템에서 파일 이름을 구성하는 바이트는 UTF-8로 해석됩니다. 파일 이름을 문자로 해석하는 응용 프로그램 (예 : FTP를 통해 이름을 전송하는 응용 프로그램)을 실행하는 경우 파일 이름이 UTF-8로 인코딩되도록이 응용 프로그램을 구성해야 할 수 있습니다. 환경 LC_CTYPE
을 UTF-8 로케일로 설정하는 en_US.UTF-8
것은 많은 명령 행 응용 프로그램에 대한 트릭입니다.
UTF-8을 지원하지 않는 시스템에 파일을 저장하면 문제가되지 않습니다. 바이트는 동일하게 유지됩니다. 파일 이름을 구성하는 문자를 표시 할 수는 없지만 파일을 UTF-8을 지원하는 시스템으로 다시 복사하면 동일한 바이트가 여전히 UTF-8 문자로 표시됩니다.
자체 응용 프로그램을 작성하는 경우 내부적으로 UTF-8을 사용하고 가능하면 저장 및 전송에 사용하는 것이 좋습니다.