#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' - работает.
Комментариев нет:
Отправить комментарий