Я совершил ошибку, случайно использовав не-ascii-символы в форме, которая была отправлена в базу данных с помощью SQLAlchemy, работающего на Flask. По сути, вместо дефиса ASCII –
я использовал кодировку Unicode en-dash –
. Теперь я пытаюсь вернуться и заменить все вхождения en-dash дефисом в моей базе данных.
Допустим, у меня есть таблица пользователей, и столбец, который я пытаюсь изменить, называется occupation
. Я могу выяснить, какие записи в моей базе данных имеют недопустимый символ, потому что когда я запускаю:
User.query.get(id)
если пользователь имеет недопустимый символ ASCII, он возвращает
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 167: ordinal not in range(128)
Итак, как я могу заменить все вхождения дефиса дефисом в столбце occupation
для всех строк в моей БД?