[python] MySQLdb a znaková sada - problém

triton29a na atlas.cz triton29a na atlas.cz
Čtvrtek Říjen 6 20:59:54 CEST 2005


Python 2.4.1, MySQL 4.1, mysql-python 1.2

1) vytvořím tabulku, která obsahuje textové pole s latin2 kódováním
create table adresy (..., mesto varchar(64) character set latin2 collate latin2_czech_cs, ...)

2) vložím záznam
insert into adresy (name) values("Děčín")

3) provedu select 
mydb = MySQLdb.connect(host=MYSQL_HOST, user=MYSQL_USER, passwd=MYSQL_PASSWORD, db=MYSQL_DBNAME, read_default_file='/etc/my.cnf')
MyCursor = mydb.cursor()
MyCursor.execute('select mesto from adresy where name like "d%"')
print MyCursor.fetchall()

ale místo očekávaného "Děčín" se vypíše "D\xec\xe8\xedn" :-(
Přitom ten samý select v mysql klientovi vrací výsledek se správnou diakritikou.

Proč se vrací výsledek v unicode escape sekvencích ? Kde dělám chybu ?

Předem díky za odpověď






Další informace o konferenci Python