У меня есть следующий код Python, который отправляет данные в БД:
cursor.execute("INSERT INTO "+ DATA_TABLE + """ (fk_id, title, streetaddress,json)
values (%(fk_id)s, %(title)s, %(address)s, %(json)s ) """ ,(
result))
Но я получаю ошибку:
File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 185, in unicode_literal
return db.literal(u.encode(unicode_literal.charset))
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-5: ordinal not in range(256)
Это потому, что% s ожидает, что значение будетдопустимая строка latin-1, в то время как dict дает ей строку utf-8?Что такое обходной путь?
Примечание. JSON безопасно создан с использованием json.dumps
.Имеет несколько символов разных языков.