Ajouter des émojis dans une base MySQL ou MariaDB existante
Depuis maintenant des années, quand on crée une base de
données on a par défaut les émojis parce que la base est
créée avec le character set utf8mb4. Mais quand on veut
faire entrer des émojis dans une vieille base de données
en charset latin1, on se retrouve avec des points d'interrogation.
⚠️ Le piège à éviter : convertir toute la base ou toute la table qui doit contenir ces textes avec des émojis ⚠️
Non seulement c'est inutile quand seule une colonne ou quelque colonnes sont concernées, mais en plus ça n'aura d'effet que sur de nouvelles tables ou colonnes 🤦
Il suffit donc de modifier la colonne qui va contenir les émojis :
ALTER TABLE ma_vieille_table MODIFY la_colonne TEXT CHARSET utf8mb4
Et pour voir ces émojis dans le client en ligne
de commande, lancer le client avec sudo mysql --default-character-set=utf8mb4
ou bien, une fois dans le client,
SET NAMES utf8mb4