Saya mengalami situasi di mana migrasi db dari satu server ke server lain menyebabkan emoji menghilang. Jadi saya harus menemukan semua baris dalam tabel asli yang berisi karakter utf8 (emoji) tinggi.
Kueri ini berfungsi seperti yang diharapkan:
SELECT field FROM `table` WHERE HEX(field) RLIKE "^(..)*F.";
sebelum melakukan apa pun, periksa apakah Anda menggunakan utf8mb4 di db, tabel, DAN koneksi Anda:
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 |
+--------------------------+--------------------+