Me respondo a mí mismo jajaja
Llevaba un día buscando y las soluciones me parecían muy enrevesadas. Pero justo acabo de encontrarla aquí: https://engineertips.wordpress.com/2021/06/09/php-mysql-emoji-problem/
La explicación por un no experto, para no expertos xD
Básicamente los emojis ocupan 4 bytes por lo visto y por eso necesitas usar un cotejamiento que sea «mb4» por ejemplo utf8mb4_unicode_ci
Yo al entrar a ver la base de datos, cada tabla ponía que tenía un cotejamiento utf8mb4_unicode_ci y aún así no me funcionaba…
Pero al entrar en la configuración de la base de datos en general, en «operaciones» y abajo del todo en «cotejamiento». Ponía algo mb3, AQUÍ ESTABA EL PROBLEMA!!
Cambias ahí a un cotejamiento que sea utf8mb4. Al guardar he seleccionado las dos opciones:
– Modificar el cotejamiento de todas las tablas
– Cambiar la intercalación de todas las columnas de las tablas
Por cierto guarda una copia de seguridad antes de toquetear estas cosas!
Un saludo!