[Java lista] pg order
CoL
col at gear.hu
2010. Feb. 26., P, 16:43:06 CET
Hali,
On 2010.02.26. 16:31, Balázs Hollósi wrote:
> szia
>
> 2010/2/26 CoL<col at gear.hu>:
>
>> Hali,
>>
>> [x]$ less t.txt
>> Adj egy egeret
>> Apu okolbe szorult okle vagyok
>> Disznosagok salata agyon
>> -Egeret vegyenek
>> Egyedem begyedem
>> -Emlos
>> -Ez egy negylabu
>> Ez is egy macsek
>> Ez is egy macsek
>> Fuss gepard fuss
>> -Hallatlan
>> Tibi a verengzo
>> Ugass ameddig birsz
>> -Zakkant macsek
>>
>>
>> - sort t.txt -nek nálad mi a kimenete? (hu_HU.UTF8 locale legyen beállítva)
>>
> export LC_ALL=hu_HU.UTF-8
>
> $ sort t.txt
> Adj egy egeret
> Apu okolbe szorult okle vagyok
> Disznosagok salata agyon
> -Egeret vegyenek
> Egyedem begyedem
> -Emlos
> -Ez egy negylabu
> Ez is egy macsek
> Ez is egy macsek
> Fuss gepard fuss
> -Hallatlan
> Tibi a verengzo
> Ugass ameddig birsz
> -Zakkant macsek
>
akkor én úgy látom, PG helyesen csinálja, a locale-nak megfelelően
sort-olta.
>> - order by convert(title, 'UTF8', 'LATIN2'); is ezt produkálja?
>>
>>
> select title from aaa order by convert(title::bytea, 'UTF8', 'LATIN2');
> title
> --------------------------------
> -Egeret vegyenek
> -Emlos
> -Ez egy negylabu
> -Hallatlan
> -Zakkant macsek
> Adj egy egeret
> Apu okolbe szorult okle vagyok
> Disznosagok salata agyon
> Egyedem begyedem
> Ez is egy macsek
> Ez is egy macsek
> Fuss gepard fuss
> Tibi a verengzo
> Ugass ameddig birsz
> (14 rows)
>
> tok jo, de miert is? :)
>
azért mert LATIN2-be már jó a locale nálad.
> no akkor most mar kiderult hogy latin2-re konvertalva mukodik, viszont
> ez nem megoldas, mert lehetnek utf8 karakterek. a kliens amivel
> betolom az adatot szinten utf8, nem gondolom hogy ott csuszik el
> (lehet rosszul gondolom). so what?
Szerintem nem. Tisztán látszik, hogy nálad a sort progi is "rosszúl"
adta vissza, azaz ugyan úgy mint pg, tehát nem a pg-vel van a gond,
hanem a locale-val a gépeiteken.
Alapból ilyen kellene legyen:
[x]$ locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
[x]$ export LC_ALL=hu_HU.UTF-8
[x]$ sort t.txt
-Egeret vegyenek
-Emlos
-Ez egy negylabu
-Hallatlan
-Zakkant macsek
Adj egy egeret
Apu okolbe szorult okle vagyok
Disznosagok salata agyon
Egyedem begyedem
Ez is egy macsek
Ez is egy macsek
Fuss gepard fuss
Tibi a verengzo
Ugass ameddig birsz
Szóval én javaslok egy reconfigure locale-t, hátha az helyre teszi. Nem
adatbázis szintű problémával állsz szemben, hanem rendszer szintű
problémával.
C.
További információk a(z) Javalist levelezőlistáról