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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2011-05-06 18:05:23

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Sortowanie w pl_PL.UTF-8

Witam,

Debian Squeeze. Moim zdaniem locale pl_PL.utf-8 źle sortuje dane. Przykład:

Kod:

echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL.utf-8 sort

daje wynik:

Kod:

ą
ć
ł
ż
ź
a
b
c
z

natomiast:

Kod:

echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL sort

daje poprawnie:

Kod:

a
ą
b
c
ć
ł
z
ź
ż

Czy to jest OK? Według mnie w UTF-8 także sortowanie powinno być poprawnie zrealizowane.

Pozdrawiam,

Jakub

Offline

 

#2  2011-05-06 18:17:18

  Carnophage - Użytkownik

Carnophage
Użytkownik
Skąd: no route to host…
Zarejestrowany: 2010-05-06
Serwis

Re: Sortowanie w pl_PL.UTF-8

Kod:

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

Kod:

sort (GNU coreutils) 5.97

Happy siduction user ^__^

Offline

 

#3  2011-05-06 18:24:09

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Sortowanie w pl_PL.UTF-8

Kod:

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

Kod:

$ echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL sort
a
b
c
z
ą
ć
ł
ź
ż

Kod:

sort (GNU coreutils) 8.5

xD

Offline

 

#4  2011-05-06 18:27:49

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

Kod:

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

 

#5  2011-05-06 18:43:05

  thalcave - prawie jak admin

thalcave
prawie jak admin
Skąd: odległa galaktyka
Zarejestrowany: 2007-05-17

Re: Sortowanie w pl_PL.UTF-8

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


linux register user: 484281
"It's great to be here. It's great to be anywhere"
Keith Richards

Offline

 

#6  2011-05-06 18:45:02

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Sortowanie w pl_PL.UTF-8

Heh, z Gentoo:

Kod:

$ echo -e "ą\na\nb\nc\nć\nł\nz\nż\nź" |LC_ALL=pl_PL sort
a
ą
ć
b
c
ł
ź
ż
z

To dopiero hardcore. ;)

Offline

 

#7  2011-05-06 20:14:36

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

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

 

#8  2011-05-06 22:11:10

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Sortowanie w pl_PL.UTF-8

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

 

#9  2011-05-06 22:29:10

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

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

 

#10  2011-05-06 22:35:12

  thalcave - prawie jak admin

thalcave
prawie jak admin
Skąd: odległa galaktyka
Zarejestrowany: 2007-05-17

Re: Sortowanie w pl_PL.UTF-8

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!


linux register user: 484281
"It's great to be here. It's great to be anywhere"
Keith Richards

Offline

 

#11  2011-05-06 22:40:37

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

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

 

#12  2011-05-06 23:39:06

  Carnophage - Użytkownik

Carnophage
Użytkownik
Skąd: no route to host…
Zarejestrowany: 2010-05-06
Serwis

Re: Sortowanie w pl_PL.UTF-8

Co sie dzieje jak ustawisz LANG na utf-8?


Happy siduction user ^__^

Offline

 

#13  2011-05-06 23:42:51

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

Cokolwiek bym nie robił ze zmienną LANG, jeśli LC_ALL jest na UTF8 to sortuje źle.
Sprawdziłem wszystkie przypadki.

Offline

 

#14  2011-05-07 01:18:39

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Sortowanie w pl_PL.UTF-8

pokaz wyniki polecen:

Kod:

localedef --list-archive
grep -v '^#' /etc/locale.gen
dpkg -l locale
md5sum /usr/share/i18n/locales/pl_PL

"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#15  2011-05-07 02:53:31

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

localedef --list-archive

Kod:

en_US
en_US.iso88591
en_US.utf8
pl_PL
pl_PL.iso88592
pl_PL.utf8
polish

grep -v '^#' /etc/locale.gen

Kod:

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

Kod:

Nie znaleziono pakietu pasującego do wzorca locale.

Podejrzewam, że chodziło Ci o

dpkg -l locales

Kod:

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

Kod:

db3c19524b3f483c6b93bdef5f5bd331  /usr/share/i18n/locales/pl_PL

Offline

 

#16  2011-05-07 10:13:18

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Sortowanie w pl_PL.UTF-8

czy problem wystepuje gdy nie ma wygenerowanych pl_PL ISO-8859-2?


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#17  2011-05-07 15:34:23

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

Sprawdziłem, niestety, to samo, a nawet jeszcze gorzej, bo wtedy nie sortuje nawet z LC_ALL=pl_PL

Offline

 

#18  2011-05-07 19:00:59

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Sortowanie w pl_PL.UTF-8

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 ...


"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#19  2011-05-07 19:14:12

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

A możesz mi wrzucić tu swój env?
Szczególnie interesuje mnie LANG, LANGUAGE i MM_CHARSET.

Offline

 

#20  2011-05-07 21:25:17

  kayo - Członek DUG

kayo
Członek DUG
Zarejestrowany: 2007-05-20

Re: Sortowanie w pl_PL.UTF-8

Kod:

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

debian testing


Having a Windows 95 box hooked to the internet is akin to walking naked into a prison carrying a carton of cigarettes.
-----------------
jid: kayo77//gmail.com  gg #1046710

Offline

 

#21  2011-05-08 00:31:51

  bercik - Moderator Mamut

bercik
Moderator Mamut
Skąd: Warszawa
Zarejestrowany: 2006-09-23
Serwis

Re: Sortowanie w pl_PL.UTF-8

Kod:

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

"Wszyscy wiedzą, że czegoś zrobić nie można. Ale przypadkowo znajduje się jakiś nieuk, który tego nie wie. I on właśnie robi odkrycie." (A.Einstein)

Offline

 

#22  2011-05-08 01:41:29

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

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

 

#23  2011-05-08 11:07:36

  thalcave - prawie jak admin

thalcave
prawie jak admin
Skąd: odległa galaktyka
Zarejestrowany: 2007-05-17

Re: Sortowanie w pl_PL.UTF-8

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


linux register user: 484281
"It's great to be here. It's great to be anywhere"
Keith Richards

Offline

 

#24  2011-05-08 23:25:26

  kayo - Członek DUG

kayo
Członek DUG
Zarejestrowany: 2007-05-20

Re: Sortowanie w pl_PL.UTF-8

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)


Having a Windows 95 box hooked to the internet is akin to walking naked into a prison carrying a carton of cigarettes.
-----------------
jid: kayo77//gmail.com  gg #1046710

Offline

 

#25  2011-05-08 23:38:08

  kubak - Użytkownik

kubak
Użytkownik
Zarejestrowany: 2011-05-06

Re: Sortowanie w pl_PL.UTF-8

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)