Hi. Thank you both for your answers.
Finally I changed my MySQL table to UTF-8 and changed the structure of the query (with '%s'). It works. Thank you very much. 2005/9/30, deelan <[EMAIL PROTECTED]>: > thomas Armstrong wrote: > (...) > > when trying to execute a MySQL query: > > ---- > > query = "UPDATE blogs_news SET text = '" + text_extrated + "'WHERE > > id='" + id + "'" > > cursor.execute (query) #<--- error line > > ---- > > well, to start it's not the best way to do an update, > try this instead: > > query = "UPDATE blogs_news SET text = %s WHERE id=%s" > cursor.execute(query, (text_extrated, id)) > > so mysqldb will take care to quote text_extrated automatically. this > may not not your problem, but it's considered "good style" when dealing > with dbs. > > apart for this, IIRC feedparser returns text as unicode strings, and > you correctly tried to encode those as latin-1 str objects before to > pass it to mysql, but not all glyphs in the orginal utf-8 feed can be > translated to latin-1. the charecter set of latin-1 is very thin > compared to the utf-8. > > you have to decide: > > * switch your mysql db to utf-8 and encode stuff before > insertion to UTF-8 > > * lose those characters that cannot be mapped into latin-1, > using the: > > text_extrated.encode('latin-1', errors='replace') > > so unrecognized chars will be replaced by ? > > also, mysqldb has some support to manage unicode objects directly, but > things changed a bit during recent releases so i cannot be precise in > this regard. > > HTH. > > -- > deelan, #1 fan of adriana lima! > <http://www.deelan.com/> > > > > > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list