[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