Страницы

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

четверг, 2 апреля 2020 г.

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

#mysql #python #python_3x #mysqlconnector #pymysql

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


Ответы

Ответ 1



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

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

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