0
0 комментариев

При получении данных из таблицы MySQL (используя Connector/Python) текстовые строки имеют вид:

Калашникова Елена Сергеевна

и

Тищенко Ð\x90ндрей ВаÑ\x81ильевич

Декодер показывает, что это кодировка CP1252, поэтому в Python3 мы можем обработать их str.encode('cp1252').decode('utf8'), однако если этот метод работает для первой строки, то не работает для второй.

UnicodeEncodeError: ‘charmap’ codec can’t encode character ‘\x90’ in position 16: character maps to undefined

Проблема — в специальных символах \x90, \x9D, \x8F, \x8D, \x81. В описании Windows-1252 указано, что эти коды относятся к C1 control codes.

Каким образом можно декодировать эти строки в Python3, не изменяя базу MySQL? Или где ещё может быть источник проблемы?

Изменен статус публикации
Добавить комментарий