У мене є гарне рішення, щоб заощадити ваш час. Я також зустрічаюсь з тією ж проблемою, але не вдалося вирішити цю проблему першою відповіддю.
Ваш персонаж за замовчуванням - utf-8. Але емоджі потребує 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)