Dahili olarak, çoğu dosya sistemi bayt depolar: dosya sistemi sürücüsü baytların ne anlama geldiğini umursamaz. Linux'taki genel dosya sistemi sürücüsü ve diğer birçok modern birleşim, başka bir bayt /
ve null baytın bir dosya adında görünmesini sağlar.
Kodlama kısıtlamaları olabilecek dosya sistemleri vardır - genellikle FAT veya NTFS gibi yerel olmayan dosya sistemleri. Samba gibi bazı ağ dosya sistemleri, sunucu kodlaması ile istemci kodlaması arasında çeviri yapabilir; sunucu ve istemci yapılandırmalarının tutarlı olduğundan emin olmanız gerekir.
Geleneksel olarak, çoğu sistemde, bir dosya adı oluşturan baytlar UTF-8 olarak yorumlanır. Dosya adlarını karakter olarak yorumlayan bir uygulama, örneğin adları FTP üzerinden ileten bir uygulama çalıştırırsanız, dosya adlarınızın UTF-8'de kodlandığını söyleyecek şekilde bu uygulamayı yapılandırmanız gerekebilir. Ortamı LC_CTYPE
bir UTF-8 yerel ayarına ayarlamak, en_US.UTF-8
birçok komut satırı uygulaması için hile yapar.
Dosyaları UTF-8'i desteklemeyen bir sistemde depolarsanız önemli değil. Baytlar aynı kalacaktır. Dosya adlarını oluşturan karakterleri görüntüleyemezsiniz, ancak dosyaları UTF-8'i destekleyen bir sisteme geri kopyalarsanız, aynı baytlar yine de UTF-8 karakterleri olarak görüntülenir.
Kendi uygulamanızı yazıyorsanız, UTF-8'i dahili olarak ve mümkünse depolama ve iletim için kullanmak iyi bir fikirdir.