Database en utf8 ou utf8mb4?

Bonjour à tous,

Dans le cadre du développement de fonctionnalités dans un plugin, je suis arrivé sur un message d’erreur ‹ system › qui me disait :
[MySQL] Error code : 22007 (1366). Incorrect string value: ‹ \xF0\x9F\x87\xBA\xF0\x9F… › for column jeedom.config.value at row 1 : REPLACE config SET key=:key, value=:value, plugin=:plugin

J’ai cherché à comprendre pourquoi ce message que j’avais sur un jeedom de prod et pas sur un jeedom de dev.

J’ai vu qu’il s’agissait probablement d’un souci de caractère « stral Unicode symbol » (enfin peut-être) mais le message symbolisait bien un souci avec le codage dans la base de donnée.

Sur un site d’un ami belge, on retrouve ces explications : How to support full Unicode in MySQL databases · Mathias Bynens

Il propose pour corriger ce souci de passer les tables utf8 en utf8mb4.
J’ai remarqué aussi que sur le poste en dev, j’ai character_set_database en utf8mb4 alors que sur le poste en prod, je l’ai en utf8, je ne sais pas si c’est vraiment la source du problème, en fonction de vos réponses, je pourrais passer character_set_database en utf8mb4 et voir si c’était cela le souci.

L’intervention sur les bases de données n’est pas ma spécialité et je préférais avoir l’avis de développeurs mysql plus expérimentés.
Comment expliquez vous que deux postes n’aient pas le même codage ? Jeedom gère t il ces codages ou ont ils évolués dans le temps ?

Merci pour vos avis éclairés sur cette question utf8 / utf8mb4.