Django использует набор символов utf8mb4

Недавно в процессе использования платформы эксплуатации и обслуживания, когда я обнаружил, что представленный оператор SQL содержит выражение, часть данных будет потеряна, когда они будут сохранены в базе данных. Например, исходное предложение - «обновить set c = 'aaa emoji expression \ n \ n ~ выражение emoji "\ n \ n'", после входа в библиотеку он становится "update aaaa emoji". Позже эта проблема была решена с помощью набора символов utf8mb4. Django использует набор символов utf8mb4 и выполняет следующую конфигурацию:

  1. Конфигурация базы данных следующая:

[клиент]  
набор-символов по умолчанию = utf8mb4   
[mysql]   
набор символов по умолчанию = utf8mb4  
[mysqld]   
набор символов-клиент-рукопожатие = ЛОЖЬ   
набор символов-сервер = utf8mb4   
сервер-сопоставления = utf8mb4_unicode_ci

2. конфигурация django

DATABASES = {  
'default': {   
        ... 
        'OPTIONS': {'charset': 'utf8mb4'},   
    },   
}




рекомендация

отblog.51cto.com/jack88/2675781