Charset nazw plików (Re: Gnome2 - OpenDialog)
Paweł Sakowski
pawel w sakowski.eu.org
Czw, 27 Lis 2003, 19:58:54 CET
> Natomiast _interpretacja_ owego ciągu 8bit bajtów na potrzeby użytkownika
> powinna być sprawą aplikacji z zastrzeżeniem że każdy ciąg jest akceptowalny.
>
> 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)?
> G_BROKEN_FILENAMES powinno się nazywać STOP_BEING_BUGGY_WITH_FILENAMES i
> ustawione na 1 na stałe ;)
Taki scenariusz:
$ export STOP_BEING_BUGGY_WITH_FILENAMES=1
$ LANG=pl_PL gedit
Tworzę plik o nazwie "Paweł"
$ LANG=es_ES gedit
File-Open...
Hej! Kto zmienił mojemu plikowi nazwę na "Pawe" do potęgi trzeciej?
W tym sensie zdecydowanie jest to zachowanie BUGGY. Trochę lepsze jest
rozwiązanie z GLib 2.3.x: G_FILENAME_ENCODING=ISO-8859-2. Tu już
zachowanie nie zależy od języka w jakim czytamy teksty, chociaż dalej
różne programy mogą dostawać różne zachowanie z zależności od zawartości
środowiska. A przecież zapis danych na dysku jest parametrem systemu, a
nie środowiska (w odróżnieniu od np. DISPLAY).
No i oczywiście FILENAME_ENCODING!=UTF-8 jest niefunkcjonalne, bo "Nas
nie dogoniat.mp3" trzeba pisać literkami łacińskimi ;-)
--
+----------------------------------------------------------------------+
| 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/26c86170/attachment.bin
Więcej informacji o liście dyskusyjnej pld-devel-pl