On Sat, Feb 28, 2004 at 05:12:04PM +0100, Paweł Sakowski wrote: > > Ale żeby uzyskać to 'ISO-8859-2' muszę użyć Langinfo (bo innej metody > > nie znam - jeśli ktoś zna funkcję get_encoding(język) to niech mi jak > > najszybciej ją poda). A to operuje na aktualnym locale. > > Właśnie ta zależność od locale wszystko psuje, bo na jednym systemie > langinfo (dla pl_PL) zwróci ISO-8859-2 a na drugim UTF-8 (zależnie jak > kto sobie localedb wygeneruje).
To tak można sobie zmieniać? Dla UTF-8 powinno się używać pl_PL.UTF-8 (albo pl_PL.utf8) - jeżeli pl_PL nie jest w ISO-8859-2, to można się spodziewać jakichś niekompatybilności. (jakich dokładnie - nie wiem, ale powołując się na nie Drepper odmówił zmiany domyślnego zestawu znaków dla jakiegoś języka (ee?) z ISO-8859-1 na niewiele różniący się ISO-8859-15 polecając dorobić nową lokalizację z modyfikatorem @euro) > > Innymi słowy: skąd uzyskać informację, że [pl] oznacza ISO-8859-2? > > Jedynym źródłem jest tabelka (do przeklepania) z: > > http://freedesktop.org/Standards/desktop-entry-spec/0.9.4/apd.html > > Żadne funkcje z glibcowo-localowe tu nie pomogą, bo nie gwarantują > zwracania dokładnie wartości opisanych tym standardem. Jak pisałem, dla > polskiego locale mogą zwracać np. UTF-8. I chyba do działania wymagałyby sporej bazy locale (pełna to 40MB aktualnie, z tendencją rosnącą). -- Jakub Bogusz http://cyber.cs.net.pl/~qboosh/ __________________________________________________________ nie pytaj co inni zrobili dla pld, pomysl ile sam zrobiles
