OK Desu Ka?

[Python] 文字コードのエラーについて

pythonのsqlite3は、textをunicodeで返してくる。
データの文字コード(UTF-8)の問題でエラーが出た場合は下記のように「text_factory = str」行を追加することで解決。

エラーメッセージ


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.

対応


~
conn = create_connection(database_path)
conn.text_factory = str
with conn:
~