Ceske LC_COLLATE pro UTF-8

Indigo indigo at voda.cz
Thu Jan 3 13:58:47 CET 2008


Ahoj,
   pred par dny jsem narazil na problemy s razenim dat v Postgresu. Pouzil
nls-string knihovnu - ta umoznuje radit data podle libovolneho locale.
Predpokladal jsem ze problem je vyresen a s prekvapenim zjistil ze pri
razeni podle cs_CZ.UTF-8 se nic nezmenilo. Druhy pokus s cs_CZ.ISO8859-2
dopadl o neco lepe - pismeno CH a velka pismena se zacala radit korektne.
Kratka sonda do /usr/share/locale/cs_CZ.UTF-8 a zmrzl mi usmev na rtech.

Vsechny UTF-8 LC_COLLATE jsou presmerovane na la_LN.US-ASCII locale.

To znamena ze jakykoliv pokus radit UTF-8 data doapdne tim nejhorsim
moznym zpusobem.
Misto korektniho A a Á á B b C c Č č .. H h Ch ch .. Z z ...
Se pouziva A B C Ch .. Z .. a b c ch .. z .. Á Č .. á č ...

Vetsina Linuxu na kterych jsem to zkousel ma korektni Ceske UTF-8
LC_COLLATE.
Ceske LC_COLLATE pro ISO_8859-2 (ISO8859-2 podle stare konvence) je tez
korektni.

Nemam zadne zkusenosti s formatem LC_COLLATE souboru a nikdy jsem se
nedival do zdrojaku pro locale. Moje teorie ale je ze musi existovat
primerene pracny zpusob jak bud zkonvertovat linuxove LC_COLLATE (problem
s GPL??), nebo v ceskem ISO_8859-2 LC_COLLATE nahradit ISO_8859-2 kody za
UTF-8 kody.

Pokud nekdo mate zkusenosti s formatem LC_COLLATE souboru - zkuste se
ozvat - tohle by byla pomerne dost uzitecna aktivita.

Diky za pozornost,
Vasek Vymazal





More information about the Users-l mailing list