Я пытаюсь сделать автоматический alter table
- добавление столбца, когда это необходимо. Проблема в том, что я начал получать UnicodeDecodeError
.UnicodeDecodeError при изменении таблицы
Я не понимаю, почему эта ошибка поднимается. Почему он хочет использовать кодировку 'ascii'
.
Я пробовал print attr.__class__
, который печатает unicode
. Я уже пробовал attr.decode('utf-8')
, но все та же проблема поднимает.
ЛИНИЯ:
self.cur.execute("""ALTER TABLE data ADD COLUMN {} TEXT""".format(attr))
ВОЗВРАТ:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u010d' in position 5: ordinal not in range(128)
У меня есть # -*- coding: utf-8 -*-
на верхней части файла.
Что делать в этом случае? Можно ли узнать, какая кодировка используется?
EDIT: Если я переписал вариант, чтобы не использовать переменные, он работает.
, как много вопросов, связанных с Unicode, это, вероятно, либо уйти или, по крайней мере, дать вам лучшее сообщение об ошибке, если вы используете Python 3. – lvc