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