2008-12

Failų pavadinimai

2008-12-23 19:24

Jau apie mėnesį gan dažnai tenka susidurti su lietuviškomis raidėmis failų pavadinimuose – dėl jų bei kitų nestandartinių simblių kyla įvairiausių keblumų – trikdomas sistemų darbas bei gaišinamas administratorių laikas laikas perkeliant, archyvuojant failus, darant jų atsargines kopijas.

Kai naudojamos lietuviškos raidės, iškart kyla klausimas kokia koduote jos įrašytos – ISO-8859-13, UTF-8, Windows-1257 ar kita? Kai failo pavadinimas užrašomas viena koduote, o peržiūrimas naudojant kitą, tai vietoje vienos raidės galima pamatyti ir dvi.

Apache serveris ras norimą tinklalapio failą su lietuviškais simboliais tik tada, kai iš naršyklės gaus to failo pavadinimą teisinga koduote. Naršyklė gali paprašyti serverio surasti failą dviem būdais – kai failo adresas užrašomas naršyklės adreso lauke arba kai paspaudžiama nuoroda į failą. Pirmuoju atveju naršyklė siunčia norimo failo pavadinimą UTF-8 koduote, o antruoju atveju – pagal tai kokia koduotė nustatyta tinklalapyje.

Dėl tokio naršyklių elgesio tinklalapio failų pavadinimuose turėtų būti naudojami ASCII, o blogesniu atveju bent jau UTF-8 simboliai.

Taigi failų ir katalogų pavadinimai turėtų būti sudaryti iš lotyniškų raidžių [a-z,A-Z] ir/ar skaitmenų [0-9] ir/ar specialiųjų simbolių [.-_]. Taip pat nerekomenduojama naudoti tarpo simbolių (Neseniai buvau aptikęs tinklalapio katalogo pavadinimą, kurio pavadinime trys tarpo simboliai ir vienas iš jų pavadinimo pabaigoje(!).)

TVS programuotojai turėtų nepamiršti suprogramuoti „upload“ formas taip, kad iš įkeliamo failo pavadinimo būtų pašalinami ir/ar į ASCII simbolius pakeičiamos ne lotyniškos raidės bei kiti spec. simboliai.

Taip pat reiktų riboti ir katalogų bei failų pavadinimų ilgius…

P.S. va ir nesuprantu kas paveikslėlyje užrašyta, kai naudojami ne ASCII simboliai 😛