How to trap this error (comes from sqlite3)
cl at isbd.net
cl at isbd.net
Tue Feb 9 09:31:25 EST 2016
Peter Otten <__peter__ at web.de> wrote:
> cl at isbd.net wrote:
>
> > It's absolutely right, there is a non-UTF character in the column.
> > However I don't want to have to clean up the data, it would take
> > rather a long time. How can I trap the error and just put a Null or
> > zero in the datagrid?
> >
> > Where do I put the try:/except: ?
>
> Handle the problem earlier on by setting a text_factory that ignores or
> replaces the offending bytes:
>
> db = sqlite3.connect(...)
> db.text_factory = lambda b: b.decode("utf-8", "replace")
>
> https://docs.python.org/2.7/library/sqlite3.html#sqlite3.Connection.text_factory
> https://docs.python.org/2/howto/unicode.html
>
Brilliant, thank you, works perfectly and (IMHO) is about the neatest
possible solution.
--
Chris Green
ยท
More information about the Python-list
mailing list