Python3 показывает символы Unicode, загруженные из Mysql - PullRequest
0 голосов
/ 21 мая 2018

У меня есть строки (английские слова + иностранное слово + эмодзи), хранящиеся в базе данных MySQL.

Данные загружаются с помощью

charset = 'latin1'

Затем я предварительно обрабатываю данные с помощью

str = str.encode('latin-1').decode('utf-8')

После этого все выглядит хорошо, за исключениемСимволы Юникода, которые выглядят как \ u '******'

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 23 мая 2018

Не используйте кодирование / декодирование, оно только добавляет вам проблем.

В вашем описании неясно путь, выбранный для эмодзи.Были ли они правильно закодированы в UTF-8, но затем искажены при сохранении в столбце latin1 в таблице?

Или это было что-то еще?

См. «Рекомендации» в Проблемас UTF-8 символами;то, что я вижу, не то, что я сохранил

Если ошибочно сохранен в столбце latin1, см. «CHARACTER SET latin1, но в нем есть utf8 байтов; оставьте одни байты при исправлении charset» в http://mysql.rjweb.org/doc.php/charcoll#fixes_for_various_cases

...