[python] Serverless DB, sort podle encoding (cestina)
Ivo Štolpa
pussa na pussa.cz
Středa Září 8 12:41:38 CEST 2004
Dave Lister napsal(a):
>Potrebuji databazi, ktera pracuje primo nad soubory, bez potreby
>serveru - neco jako dBase. Z prehrsle co je na vyber mi nejlepe
>vyhovuje (Py)Sqlite, nebot splnuje predchozi pozadavky, ba co vic,
>zachazi se s ni pohodlne pres SQL. Nicmene bez namitek zmenim svou
>volbu, pokud mi to pomuze dosahnout kyzeneho cile:
> - aby ORDER BY vracel zaznamy setridene podle nastaveneho kodovani,
> tedy ISO-8859-2.
>
>Zkousel jsem ukladat retezce jak v ISO, tak UTF-8, ale nijak se mi
>nepodarilo spravneho trideni dosahnout. Zadam tedy o radu, zda-li
>nekdo nevi jak s Sqlite na to, nebo jak toho dosahnout vubec, pomoci
>cehokoli jineho.
>
>
SQLite to do nedávna vůbec neuměla. Od verze 3.0 je zavedená podpora
tzv. "user collating". Což je věc typu "dodělej si sám", ale pak
funguje. Collating je založeno na porovnání dvou stringů. Tvá funkce pak
musí vrátit záporné číslo, nulu nebo kladné číslo pro případy kdy první
string je menší, shodný nebo větší než druhý string. Více k tomu najdeš
na adrese www.sqlite.org/version3.html
Já ale raději používám Firebird (www.firebird.org) kde je čeština již
léta vychytaná a jedinou chybičku ve třídění, kterou měla InterBase, tak
Firebird již opravil. Nově je k dispozici i embended varianta, která
nepotřebuje server a pracuje se s ní stejně jako s SQLite. Já ale tuto
variantu nepoužívám, takže nemám praktické zkušenosti.
S pozdravem
Ivo
Další informace o konferenci Python