Dal╣φ P°edchozφ Obsah

11. ╚eskΘ t°φd∞nφ

Autor informacφ: Jan Pazdziora adelton@fi.muni.cz, 1998

╚eskΘ t°φd∞nφ zcela podle ╚SN nelze implementovat bez pou╛itφ metod um∞lΘ inteligence. Norma toti╛ po╛aduje takovΘ jemn∙stky jako za°adit °et∞zec "Karel IV" p°ed "Karel II", proto╛e °φmskΘ Φφslice se majφ nahradit slovy, a "Φtvrt²" je p°ed "druh²". T°φd∞nφ bez nejv∞t╣φch v²st°elk∙ ╚SN zvlßdß knihovna glibc s nainstalovan²mi locales s Revision: minimßln∞ 1.10 --- viz kapitola locales. T°φd∞nφ pomocφ locales v libc5 nefunguje.

Pokud vß╣ systΘm nepou╛φvß glibc nebo nem∙╛ete pou╛φt locales z n∞jakΘho jinΘho d∙vodu, lze pou╛φt implementaci funkce strxfrm od Jana Pazdziory, kterß p°evßdφ Φesk² (ISO-8859-2) text na posloupnost, kterou je potom mo╛no porovnßvat pomocφ strcmp. P°evod je definovßn tak, aby nßslednΘ t°φd∞nφ co nejvφce odpovφdal ΦeskΘ norm∞ (╚SN; je slovenskΘ t°φd∞nφ odli╣nΘ?), resp. v²kladu normy podle pana Ol╣ßka. Soubor obsahuje takΘ funkci strcoll, kterß provede porovnßnφ dvou °et∞zc∙ bez nutnosti p°edchozφ konverze, tedy v konstantnφ pam∞ti.

Soubor p°elo╛φme p°φkazem


cc -c -o csort.o csort.c

a pomocφ


ld -shared -o csort.so csort.o

z n∞j ud∞lßme sdφlenou knihovnu. Tu potom pou╛ijeme nap°φklad nastavenφm prom∞nnΘ prost°edφ export LD_PRELOAD=/cesta/k/csort.so, Φφm╛ zajistφme, ╛e se mφsto implicitnφch strxfrm a strcoll pou╛ijφ v²╣e uvedenΘ, ΦeskΘ.

Dal╣φ informace o t°φd∞nφ, vΦetn∞ implementace t°φd∞nφ pro databßzi MySQL, lze nalΘzt na strßnce Jana Pazdziory.


Dal╣φ P°edchozφ Obsah