Portál AbcLinuxu, 14. května 2025 05:38
ď
a d
, á
a a
(ale např. c
a č
se rozlišuje), a rozlišují se teprve při druhém průchodu (tj. pokud by podle prvního byla slova shodná, ve druhém už se ď
řadí až za d
atd.) Pokud vím, při reimplementaci řazení v MySQL byla čeština jedním z pilotních jazyků, na kterém se řazení zkoušelo, protože když to dokáže setřídit správně podle českých pravidel, pak už to dokáže setřídit všechno Chyba řazení se projevuje v RHEL 5, CentOS 5 a dalších distribucích s PostgreSQL 8.3. Ztačí udělat dump databáze (pg_dumpall -c), pak zeditovat /etc/init.d/postgresql tak, aby u příkazu initdb byl parametr "--locale=cs_CZ.iso-8859-2" (bez uvozovek). Smazat (zazálohovat) obsah adresáře /var/lib/pgsql/data, znovu spustit PosgreSQL (inicializuje se databáze). Pak zpět naimportovat data (su postgres; pgsql < zaloha). Třídění funguje dobře, dokonce i když jsou některé databáze v UTF-8 (názvy s azbukou mám na konci výstupu, což mi až tak moc nevadí).
Lukáš Dubovec Mária Dúhová Milan Ďurčo Milan Durdiak Pavol Dvorskýdle mych znalosti ze zakladny skoly to sprave neni :(
a á ä b c č d ď dz dž e é f g h ch i í j k l ĺ ľ m n ň o ó ô p r ŕ s š t ť u ú v y ý z žJestli je na to ale daka norma, tak to nevim ...
↓ PRIMÁRNÍ POŘADÍ → SEKUNDÁRNÍ POŘADÍ a á â ă ä ą b c ć ç č d ď đ e é ě ë ę f g h ch i í î j k l ĺ ľ ł m n ń ň o ó ô ö ő p q r ŕ ř s ś ş š t ť ţ u ú ů ü ű v w x y ý z ż ź ž
Lukáš Dubovec Mária Dúhová Milan Ďurčo Milan Durdiak Pavol Dvorskýdle mych znalosti ze zakladny skoly to sprave neni :(
show lc_collate;
lc_collate ------------- sk_SK.utf-8 (1 row)
Tiež som mal problémy rozchodiť zoradzovanie a vyhľadávanie s diakritikou v postgrese 8.0 a vyššom. Nakoniec sa to ku spokojnosti rozbehlo, keď som použil locale sk_SK.iso-8859-2. Môj hrubý odhad je, že problém je v glibc.
Skúšal som ešte utf-8, a windows-1250, ale nebolo to zoradené správne. Zvlášť ten utf-8 ma mrzí - ten by som tam videl najradšej.
Takže databázu mám v iso-8859-2 a klienti si to prekódujú podľa potreby vo svojom spojení cez PGCLIENTENCODING.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.