У меня есть хорошее решение, чтобы сэкономить ваше время. Я также сталкиваюсь с той же проблемой, но не смог решить эту проблему первым ответом.
Ваш персонаж по умолчанию - utf-8. Но для поддержки Emoji необходим utf8mb4. Если у вас есть разрешение на пересмотр файла конфигурации mysql, вы можете выполнить этот шаг.
Поэтому выполните этот следующий шаг, чтобы обновить свой набор символов (с utf-8 до utf8mb4).
шаг 1. откройте my.cnf для mysql, добавьте следующие строки в 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
шаг 2. остановите службу MySQL и запустите службу MySQL
mysql.server stop
mysql.server start
Законченный! Затем вы можете проверить, что ваш персонаж изменен на 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)