Страницы

Поиск по вопросам

воскресенье, 9 июня 2019 г.

Как хранить смайлики в MySQL?

При попытке загрузить смайлик в БД, пишет: "1366 (HY000): Incorrect string value: '\xF0\x9F\x98\x89' for column 'last_name' at row 1"
Нашел вариант про utf8mb4. Перевел сервер,БД,таблицы и поля в utf8mb4, все равно ошибка.
Если в Python при соед. указываю charset = utf8mb4, то получаю ошибку: "1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'".
Нашел единственный вариант, который сработал это в Python указать:
cursor.execute('SET NAMES utf8mb4') cursor.execute("SET CHARACTER SET utf8mb4") cursor.execute("SET character_set_connection=utf8mb4")
Тогда всё работает. Но тут неудобно везде писать эти три строки, возможно ли их как-то прописать в настройках mysql?
Уже на самом деле запутался... P.S. Версия сервера: 5.7.21-0ubuntu0.16.04.1


Ответ

Оказалось, что... Python3 mysql.connector версии 8.0.6 не поддерживает utf8mb4. Переустановил на » mysql.connector.version '2.1.7' - работает.

Комментариев нет:

Отправить комментарий