Eu tenho uma boa solução para economizar seu tempo. Também encontro o mesmo problema, mas não consegui resolver esse problema pela primeira resposta.
Seu personagem com defeito é utf-8. Mas o emoji precisa de utf8mb4 para suportá-lo. Se você tiver permissão para revisar o arquivo de configuração do mysql, poderá seguir esta etapa.
Portanto, siga estas etapas para atualizar seu conjunto de caracteres (de utf-8 para utf8mb4).
passo 1. abra seu my.cnf para o mysql, adicione estas linhas ao seu my.cnf.
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
[mysql]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
passo 2. interrompa seu serviço mysql e inicie o serviço mysql
mysql.server stop
mysql.server start
Acabado! Então você pode verificar se seu personagem foi alterado para utf8mb4.
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/Cellar/mysql@5.7/5.7.29/share/mysql/charsets/ |
+--------------------------+----------------------------------------------------------+
8 rows in set (0.00 sec)