Tôi có một giải pháp tốt để tiết kiệm thời gian của bạn. Tôi cũng gặp vấn đề tương tự nhưng tôi không thể giải quyết vấn đề này bằng câu trả lời đầu tiên.
Nhân vật defualt của bạn là utf-8. Nhưng biểu tượng cảm xúc cần utf8mb4 để hỗ trợ nó. Nếu bạn có quyền sửa lại tệp cấu hình của mysql, bạn có thể làm theo bước này.
Do đó, hãy thực hiện bước sau để nâng cấp bộ ký tự của bạn (từ utf-8 lên utf8mb4).
Bước 1. mở my.cnf của bạn cho mysql, thêm các dòng sau vào my.cnf của bạn.
[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
bước 2. dừng dịch vụ mysql của bạn và bắt đầu dịch vụ mysql
mysql.server stop
mysql.server start
Đã kết thúc! Sau đó, bạn có thể kiểm tra nhân vật của mình được thay đổi thành 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)