Python Flask communique par défaut avec MySQL dans l'utf-8 de MySQL, c'est-à-dire qu'il ne peut pas gérer toute la plage utf8mb4 (qui inclut les emojis). Flask remplacera les paramètres de jeu de caractères de la base de données, y compris le paramètre character-set-server dans my.cf. L'ajout du paramètre suivant à l'application Flask résout le problème en le forçant à communiquer avec MySQL en utf8mb4 :
app.config['MYSQL_DATABASE_CHARSET'] ='utf8mb4'