Robin Becker wrote: > John Nagle wrote: > >> Try: >> >> db=MySQLdb.connect(host='appx',db='sc_0',user='user',passwd='secret', >> use_unicode=True, charset = "utf8") >> >> The distinction is that "use_unicode" tells Python to convert to Unicode, >> but Python doesn't know the MySQL table type. 'charset="utf8"' tells >> MySQL to do the conversion to UTF8, which can be reliably converted >> to Unicode. >> >> John Nagle >> >> ....... > > > OK that seems to help. However, my database has tables with different > encodings. Does MySQLdb ignore the table encoding? That would be a bit > lame.
MySQLdb, the client, doesn't know the table encoding. The server end does. > Also it still doesn't explain the different behaviours between unix & > win32 (or perhaps different defaults are somehow magically decided upon). The default encoding is an environment thing. It comes, somehow, from the locale your system thinks it is in. > -things were so much easier when bytes were bytes-ly yrs- > Robin Becker So convert the database to Unicode/UTF-8 and have everything be consistent. MySQL 5 can do that dynamically with an ALTER TABLE statement. John Nagle -- http://mail.python.org/mailman/listinfo/python-list