[EMAIL PROTECTED] wrote: > > > File "/usr/lib/python2.3/site-packages/MySQLdb/connections.py", > line > > > 33, in defaulterrorhandler > > > raise errorclass, errorvalue > > > UnicodeEncodeError: 'latin-1' codec can't encode character > u'\u2026' in > > > position 288: ordinal not in range(256)
> Thank you very much for your quick answer. > > Do you suggest to change it by using regexp or must I encode the whole > texto into a suitable one? a simple solution would be to manually create a table of problematic unicode characters, use the translate method on the unicode string, and then encode using the "replace" option. charmap = { 0x2026: u"...", # ... } text = u'telephone\u2026' text = text.translate(charmap) text = text.encode("iso-8859-1", "replace") print text http://docs.python.org/lib/string-methods.html if you want more control of the replacement, you can skip the translate step and use your own error handler, e.g. charmap = ... see above ... def fixunicode(info): s = info.object[info.start:info.end] try: return charmap[ord(s)], info.end except KeyError: # fallback return u"<U+%04x>" % ord(s), info.end import codecs codecs.register_error("fixunicode", fixunicode) text = u'telephone\u2026' text = text.encode("iso-8859-1", "fixunicode") hope this helps! </F> -- http://mail.python.org/mailman/listinfo/python-list