[python] MySQLdb a 8-bit

Petr Nesládek petr.nesladek na seznam.cz
Středa Únor 7 00:02:07 CET 2007


> ------------ Původní zpráva ------------
> Od: Vladislav Ludík <vlada na ludik.cz>
> Předmět: Re: [python] MySQLdb a 8-bit
> Datum: 06.2.2007 22:35:17
> ----------------------------------------
> mtip napsal(a):
> > Jeste se vratim jednou k podobne otazce:
> > Pouziva nekdo na cteni a zapis dat do MySQL verze > 4.1 modul MySQLdb ?
> > Pokud ano, jak jste kdo specifikovali charset, aby to fungovalo ?
> > Me se zatim vraci pouze Latin-1, i kdyz nastavim kodovani jine.
> > Nebo snad existuje jiny lepsi modul pro tento ucel ?
> >
> >   
> Obešel jsem to natvrdo přepsáním v modulu cursors na třech místech:
> 
>         #charset = db.character_set_name()
>         charset = 'cp1250'
>         #query = query.encode(charset)
> 
>         #charset = db.character_set_name()
>         charset = 'cp1250'
> 
> 
> Kupodivu to funguje. Akorát jsem musel překódovat š a ž při čtení i zápise.
> 
> Ale zajímalo by mě správné řešení také.
> 
> VL
> _______________________________________________

Tento porblém jsem řešil také - a nechodilo vůbec nic,
takže jako konečné řešení mám jak charset v MySQL tak i použité kodovaní na výstupu query do MySQLdb nastavené na utf-8.

To funguje bez nejmenšího zadrhnutí (pokud jsem stejně nastavil na obou stranách cp1250 tak se to nedohodlo na znacích mimo latin1)
používám MySQL 5.0. a od této úpravy je to bez problémů  včetně použití wrapperu PyTable nad MySQLdb (mimochodem moc mne nepresvědčil)

Petr


Další informace o konferenci Python