HervéRenault.fr

Logo de MariaDB

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