Кодировка Python - не удалось декодировать в utf8
У меня есть база данных sqlite, которая была заполнена внешней программой. Я пытаюсь прочитать данные с Python. Когда я пытаюсь прочитать данные, я получаю следующую ошибку:
OperationalError: Не удалось декодировать в UTF-8
Если я открою базу данных в sqlite manager и посмотрю на данные в поврежденной записи (записях), используя встроенный просмотр и поиск, то все выглядит нормально, однако, если я экспортирую таблицу как csv, я замечаю, что символ £ в поврежденных записях стал £
Если я читаю CSV в Python, знак £ в записи обидчика по-прежнему читается как £ но это не проблема, я могу разобрать это вручную. Однако мне нужно иметь возможность читать данные непосредственно из базы данных, без промежуточного шага преобразования в CSV.
Я просмотрел некоторые ответы в Интернете на похожие вопросы, до сих пор пытался установить "text_factory = str", и я также пытался изменить тип данных столбца с TEXT на BLOB с помощью sqlite manager, но все равно получаю ошибку.
Мой код ниже приводит к OperationalError: Не удалось декодировать в UTF-8
conn = sqlite3.connect('test.db')
conn.text_factory = str
curr = conn.cursor()
curr.execute('''SELECT xml_dump FROM hands_1 LIMIT 5000 , 5001''')
row = curr.fetchone()
Все записи выше 5000 в базе данных имеют эту символьную проблему и, следовательно, вызывают ошибку.
Любая помощь приветствуется.