Python insert UTF8 string into SQLite

2019-05-22 13:45发布

I know there are similar questions, but the answers are distinct and kind of confusing.

I have this string:

titulo = "Así Habló Zaratustra (Cómic)"

When I try to insert it to the SQLite database I get the error:

sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.

I've tried a couple of things without success. Please help.

1条回答
叼着烟拽天下
2楼-- · 2019-05-22 14:13

Do what it tells you to do and use unicode values instead:

titulo_unicode = titulo.decode('utf8')

The sqlite3 library will take care of encoding this correctly when inserting, decoding again when selecting.

查看更多
登录 后发表回答