Secara internal, sebagian besar filesystem menyimpan byte: driver filesystem tidak peduli tentang apa arti byte. Driver sistem file generik di Linux dan sebagian besar Unix modern lainnya memungkinkan byte selain /
dan byte nol muncul dalam nama file.
Ada filesystem yang mungkin memiliki kendala penyandian - biasanya filesystem non-asli seperti FAT atau NTFS. Beberapa sistem file jaringan seperti Samba dapat menerjemahkan antara pengkodean server dan pengkodean klien; Anda harus memastikan bahwa konfigurasi server dan klien koheren.
Secara konvensional, pada kebanyakan sistem, byte yang membentuk nama file ditafsirkan sebagai UTF-8. Jika Anda menjalankan aplikasi yang mengartikan nama file sebagai karakter, misalnya aplikasi yang mentransmisikan nama melalui FTP, Anda mungkin perlu mengkonfigurasi aplikasi ini untuk memberi tahu bahwa nama file Anda dikodekan dalam UTF-8. Mengatur lingkungan LC_CTYPE
ke seperti UTF-8 seperti en_US.UTF-8
melakukan trik untuk banyak aplikasi baris perintah.
Jika Anda menyimpan file di sistem yang tidak mendukung UTF-8, itu tidak masalah. Bytes akan tetap sama. Anda tidak akan dapat menampilkan karakter yang membentuk nama file, tetapi jika Anda menyalin file kembali ke sistem yang mendukung UTF-8, byte yang sama masih akan ditampilkan sebagai karakter UTF-8.
Jika Anda menulis aplikasi Anda sendiri, menggunakan UTF-8 secara internal dan, jika memungkinkan, untuk penyimpanan dan transmisi adalah ide yang bagus.