[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