Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Debian Squeeze. Moim zdaniem locale pl_PL.utf-8 źle sortuje dane. Przykład:
echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL.utf-8 sort
daje wynik:
ą ć ł ż ź a b c z
natomiast: 
echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL sort
daje poprawnie:
a ą b c ć ł z ź ż
Czy to jest OK? Według mnie w UTF-8 także sortowanie powinno być poprawnie zrealizowane.
Pozdrawiam,
Jakub
Offline

 Użytkownik
	

$ echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL.utf-8 sort a ą b c ć ł z ź ż
sort (GNU coreutils) 5.97
Offline







 Kapelusznik
	







$ echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL.utf-8 sort a ą b c ć ł z ź ż
$ echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL sort a b c z ą ć ł ź ż
sort (GNU coreutils) 8.5
xD
Offline
sort --version sort (GNU coreutils) 8.5
To nie jest kwestia polecenia sort. To o coś innego innego chodzi. To samo "coś" powoduje, że postgresql źle sortuje - ma ustawione LC_COLLATE na pl_PL.UTF-8.
Tylko nie piszcie, że mam ustawić LC_COLLATE na pl_PL..
Dlaczego z UTF-8 sortuje się źle?
Offline


 prawie jak admin
	


Przy ustawieniu LC_ALL ustawia także LC_COLLATE także u nas to działa. Najlepiej żeby sprawdził jeszcze ktoś, kto używa Squeeze'a
Offline







 Kapelusznik
	







Heh, z Gentoo:
$ echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL sort a ą ć b c ł ź ż z
To dopiero hardcore. ;)
Offline
thalcave napisał(-a):
Przy ustawieniu LC_ALL ustawia także LC_COLLATE także u nas to działa. Najlepiej żeby sprawdził jeszcze ktoś, kto używa Squeeze'a
Tak, to oczywiste. 
Nie ma to chyba większego znaczenia czy jak to u kogoś jeszcze na Squeeze działa.
U mnie nie działa i szukam przyczyny dlaczego?
Czy to jest kwestia jakichś słowników? Gdzie jest zapisany alfabet?
Ostatnio edytowany przez kubak (2011-05-06 20:14:57)
Offline




 Użyszkodnik
	kubak napisał(-a):
Nie ma to chyba większego znaczenia czy jak to u kogoś jeszcze na Squeeze działa.
No właśnie to ma kluczowe znaczenie do stwierdzenia, czy błąd jest w Twoim systemie czy błąd jest w Squeeze jako takim. Od tego zależy, co z tym dalej zrobić.
Offline
Minio napisał(-a):
kubak napisał(-a):
Nie ma to chyba większego znaczenia czy jak to u kogoś jeszcze na Squeeze działa.
No właśnie to ma kluczowe znaczenie do stwierdzenia, czy błąd jest w Twoim systemie czy błąd jest w Squeeze jako takim. Od tego zależy, co z tym dalej zrobić.
:-)
Mój system to Squeeze, jako taki. 
Błąd jest więc w Squeeze, jako takim.
Czy Twoim zdaniem jeśli błąd występuję u jednej osoby, która ma Squeeze, to jest to błąd w jej systemie,
a jeśli u dwóch osób - to w "Squeeze jako takim"?
Poza tym widzisz powyżej kilka przypadków u których sortowanie także źle działa, w innych locele'ach. 
Czegu tu jeszcze dochodzić?
Czy ktoś ma pomysł jak ten problem rozwiązać (problem sortowania w UTF8, nie powtarzalności błędu)?
Ostatnio edytowany przez kubak (2011-05-06 22:34:37)
Offline


 prawie jak admin
	


kubiak chcemy ustalić czy to jest błąd Twojego systemu (konfiguracji, braku jakiegoś pakietu, whatever) czy w Squeeze jest już ten błąd i występuje na każdej maszynie z nim zainstalowanym.
Właściciele Squeeze prosimy o sprawdzenie!
Offline
thalcave napisał(-a):
kubiak chcemy ustalić czy to jest błąd Twojego systemu (konfiguracji, braku jakiegoś pakietu, whatever) czy w Squeeze jest już ten błąd i występuje na każdej maszynie z nim zainstalowanym.
Właściciele Squeeze prosimy o sprawdzenie!
Wiadomo przecież, że błąd nie musi występować na każdej maszynie, wystarczy, że ktoś nie ma zainstalowanego tego locale!
Widzę to tak: wykonuję polecenie sort, zgodnie ze specyfikacją tego polecania. Korzystam z niezmodyfikowanych bibliotek.
Otrzymuje zły wynik.
To wyczerpuje znamiona błędu.
Nawet jeśli występuje on tylko na moim jedynym komputerze na świecie.
Jest błąd i już.
Jak to naprawić?
Offline

 Użytkownik
	

Co sie dzieje jak ustawisz LANG na utf-8?
Offline
Cokolwiek bym nie robił ze zmienną LANG, jeśli LC_ALL jest na UTF8 to sortuje źle.
Sprawdziłem wszystkie przypadki.
Offline




 Moderator Mamut
	pokaz wyniki polecen:
localedef --list-archive grep -v '^#' /etc/locale.gen dpkg -l locale md5sum /usr/share/i18n/locales/pl_PL
Offline
localedef --list-archive
en_US en_US.iso88591 en_US.utf8 pl_PL pl_PL.iso88592 pl_PL.utf8 polish
grep -v '^#' /etc/locale.gen
en_US.UTF-8 UTF-8 en_US ISO-8859-1 pl_PL ISO-8859-2 pl_PL.UTF-8 UTF-8
dpkg -l locale
Nie znaleziono pakietu pasującego do wzorca locale.
Podejrzewam, że chodziło Ci o 
dpkg -l locales
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Nazwa Wersja Opis +++-==============-==============-============================================ ii locales 2.11.2-10 Embedded GNU C Library: National Language (l
md5sum /usr/share/i18n/locales/pl_PL
db3c19524b3f483c6b93bdef5f5bd331 /usr/share/i18n/locales/pl_PL
Offline




 Moderator Mamut
	czy problem wystepuje gdy nie ma wygenerowanych pl_PL ISO-8859-2?
Offline
Sprawdziłem, niestety, to samo, a nawet jeszcze gorzej, bo wtedy nie sortuje nawet z LC_ALL=pl_PL
Offline




 Moderator Mamut
	wyglada na jakis dziwny bug ... sprawdzalem na dwoch squeezach - jednym aktualizowanym z lenny drugim stawianym od podstaw i sortowanie w pl_PL.utf-8 dziala tak jak nalzey sie tego spodziewac ... ale mimo to sugerowalbym zgosic bug report do paczki locales ...
Offline
A możesz mi wrzucić tu swój env? 
Szczególnie interesuje mnie LANG, LANGUAGE i MM_CHARSET.
Offline


 Członek DUG
	


marek@lapek:~$ echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL sort a ą ć b c ł ź ż z
debian testing
Offline




 Moderator Mamut
	rrp@baszta:~$ env BACNET_IFACE=eth0.119 TERM=xterm SHELL=/bin/bash LC_NUMERIC=C SSH_TTY=/dev/pts/0 USER=rrp MAIL=/var/mail/rrp PATH=/usr/sbin/:/sbin/:/usr/local/bin:/usr/bin:/bin:/usr/games LC_COLLATE=C PWD=/home/rrp LANG=en_US.UTF-8 SHLVL=1 HOME=/home/rrp LOGNAME=rrp LC_CTYPE=en_US.UTF-8 LC_TIME=en_DK.UTF-8 _=/usr/bin/env
Offline
Jezu, chyba mam to!
...
Tak, kwestia ustawienia PUTTY!!!!!
Window -> Tranlation -> Recevied data assumed to be in which character set: UTF-8
Następnie ustawiłem locale na pl_PL.UTF-8 i teraz sortowanie działa. Czyli to przez to, że komendę wklejałem przez putty, które coś robiło ze znakami takiego, że się sortowanie wysypywało.
Dzięki wszystkim za pomoc!
Offline


 prawie jak admin
	


LOL... a Ty się dziwiłeś, że staramy sprawdzić czy n innym Squeeze problem występuje :D
Offline


 Członek DUG
	


Myśle ze jednak to nie wina putty tylko gdzies indziej, ja test robilem na laptopie i sortowanie jest bledne
Ostatnio edytowany przez kayo (2011-05-08 23:27:00)
Offline
To znaczy u mnie jest to wina putty. Ale Wasze testy powyżej mogą sugerować, że jest więcej problemów z sortowanie i locale.
Offline