Charset nazw plików (Re: Gnome2 - OpenDialog )

Paweł Sakowski pawel w sakowski.eu.org
Pią, 28 Lis 2003, 00:26:55 CET


> > > Idąc dalej aplikacja która wymagania kodowania plików w utf-8 jest równie
> > > błędna jak wymaganie że nazwy plików mają składać się tylko z liter 'a'.
> >
> > A jak może nie wymagać żadnego kodowania? OK, np. taki grep może. Ale
> > większa aplikacja czasami będzie musiała wypisać nazwę pliku na ekranie.
> > I jak to zrobić? Przyjąć ISO 8859-(rand()%16+1)?
> 
> Przyjąć locale lub to co chce użytkownik lub to co jest mu wygodne, byle 
> mapowanie ciąg bajtów nazwy w to co widzi użytkownik było wzajemnie 
> jednoznaczne.

Takie mapowanie jest musiałoby escapować nierozpoznane lub niedrukowalne
ciągi oktetów (w każdym powszechnie stosowanym kodowaniu są takie).
Fakt, jako workaround złego kodowania by działało (zamiast pięknych
literek krzaczory i kody w stylu \x{abcd}). Ale to żadne rozwiązanie:
trzeba zmusić programy do dogadania się z systemem plików.

> > Hej! Kto zmienił mojemu plikowi nazwę na "Pawe" do potęgi trzeciej?
> 
> Nikt nie zmieniał nic. Plik się nazywa tak jak się nazywał (identyfikuje go 
> ten sam ciąg bajtów) , widzisz jego nazwe w złym kodowaniu, co _nie_ powinno 
> w niczym przeszkadzać w operacjach na nim.

Jak to nie powinno przeszkadzać? Wkurwia jak cholera! Pół biedy jak
gdzieś jedno ł się zamieni na ^3, ale zdarzało mi się, że samba mi
katalog podmontowała z takim zakręconym charsetem, że smbfs głupiał i
nie dawał się w ogóle dobrać do pliku. Już nie mówiąc o mieszaniu
cyrylicy i alfabetu łacińskiego. Browara dla tego kto na pierwszy rzut
oka stwierdzi co znaczy takie "˝Đá ÝŐ ÔŢÓŢÝďâ" (ciąg bajtów w ISO 8859-5
wyświetlony jako ISO 8859-2).

I będę się upierał, że "Paweł"!="Pawe^3", więc nazwa nie jest ta sama.
Jako użytkownika mnie nie interesuje w jakim charsecie są przechowywane
nazwy plików (np. UTF-16 w przypadku FAT 32). Tak samo jak nie obchodzi
mnie czy maile dostaję w quoted-printable czy Base64. Niestety, na dzień
dzisiejszy jądro Linuxa nie rozwiązuje problemu reprezentacji ścieżki
jako ciągu znaków (znak != bajt).

-- 
+----------------------------------------------------------------------+
| Paweł Sakowski <pawel w sakowski.eu.org>            Never trust a man  |
|                            who can count up to 1023 on his fingers.  |
+----------------------------------------------------------------------+
-------------- następna część ---------
Załącznik, który nie był tekstem został usunięty...
Name: nie znany
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message
	=?ISO-8859-1?Q?numériquement?Url : /mailman/pipermail/pld-devel-pl/attachments/20040626/b9521fd3/attachment.bin


Więcej informacji o liście dyskusyjnej pld-devel-pl