給一個標准的解決方案:
mysql的版本必須為v5.5.3或更高
把數據庫的編碼改成utf8mb4 -- UTF-8 Unicode
然后需要存儲emoji表情的字段選擇utf8mb4_general_ci
數據庫連接也需要改為utf8mb4
設置完成后,應該可以看到如下類似字符集設置結果。那么可以直接的存入數據庫,無需做任何額外的事情了。
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| 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 |
| collation_connection | utf8mb4_unicode_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
rows in set (0.00 sec)