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

323
28 февраля 2018, 06:46

При попытке загрузить смайлик в БД, пишет: "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

Answer 1

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

READ ALSO
Обработка большого количества данных MySQL

Обработка большого количества данных MySQL

Здравствуйте, товарищи! Возникла следующая проблема: имеется две таблицы с большим количеством аналитических данныхВ одной таблице 5млн...

295
C# Замедление цикла

C# Замедление цикла

Возможно ли замедлить цикл так, что бы мы увидели например, как появляются новые цифры в консоле при пересчете массива(не спрашивайте зачем...

240
Возможно c# + js взаимодействие? [требует правки]

Возможно c# + js взаимодействие? [требует правки]

Всё в шапкеНужно с c# внедрить скрипт в браузер в виде JS

209