Ошибка вставки (Unicode?) Текста в базу данных sqlite3 - PullRequest
1 голос
/ 09 февраля 2011

У меня есть база данных sqlite3, которую я создал, которую я заполняю данными из базы данных db2.Я получаю сообщение об ошибке, когда запускаю следующее:

for row in db2_connection.execute(query):
    sqlite3_connection.execute("INSERT INTO MY_TABLE VALUES (?, ?, ?)", row)

Вот ошибка:

File "example.py", line 72, in load_micr_db
    sqlite3_connection.execute("INSERT INTO MY_TABLE VALUES (?, ?, ?)", row)
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.

Это звучит как отличный совет, но я не знаю, как ему следовать.Как мне «переключить мое приложение на строки Unicode»?

Я использую Python 2.6, pyodbc для запроса db2 9, sqlite3.

1 Ответ

3 голосов
/ 09 февраля 2011

Использовать строковые литералы с префиксом u.

print u'I am a Unicode string.'

"Юникод в Python, полностью демистифицирован"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...