Проблема с кодировкой Python utf8 - PullRequest
0 голосов
/ 24 мая 2011

Я работаю над приложением Python и испытываю некоторые проблемы с обработкой строк.

Есть эта строка "Она вышла из моей лиги" (без кавычек).Я сохранил его в переменной и попытался вставить в базу данных sqlite3.Но я получаю эту ошибку:

sqlite3.ProgrammingError: Вы не должны использовать 8-битные строки байтов, если вы не используете text_factory, которая может интерпретировать 8-битные строки байтов (например, text_factory = str).Настоятельно рекомендуется вместо этого просто переключить свое приложение на строки Unicode.

Итак, я попытался преобразовать строку в Unicode.Я попробовал оба из них:

new_str = unicode(old_str)
new_str = old_str.encode("utf8")

Но это дает мне еще одну ошибку:

UnicodeDecodeError: кодек «utf8» не может декодировать байт 0x92 в позиции 49: неожиданный байт кода

Я застрял здесь.Что я делаю не так?

1 Ответ

1 голос
/ 24 мая 2011

Simple. Вы предполагаете, что это UTF-8.

>>> print 'She\x92s Out of My League'.decode('cp1252')
She’s Out of My League
...