Программы
Добавляем поддержку emoji в Django+MySQL приложение

Добавляем поддержку emoji в Django+MySQL приложение

В наше время emoji в веб-приложениях — не роскошь, а суровая реальность: любой «мобильный юзер» может написать сообщение, в котором есть эти символы.

В наше время emoji в веб-приложениях — не роскошь, а суровая реальность: любой «мобильный юзер» может написать сообщение, в котором есть эти символы.

И, казалось бы, фича уже не новая — всё должно быть готово для неё. Так и есть в SQLite, PostgreSQL. Но не в MySQL/MariaDB.

Однако, шаманств не много — просто используем кодировку utf8mb4, которая есть в MySQL с 5.5 версии.

ALTER TABLE табличка CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

И прописываем charset в параметрах коннекта к базе:

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.mysql',
        'NAME': 'бд',
        'USER': 'юзер',
        'PASSWORD': 'пароль',
        'HOST': '127.0.0.1',
        'OPTIONS': {'charset': 'utf8mb4'},
    },
}

✅ Добавлена поддержка emoji.

Изображение Python 3.11. Что нового?