मेरे पास ऐसी स्थिति है जहां एक सर्वर से दूसरे सर्वर पर डीबी माइग्रेशन के कारण इमोजी गायब हो गया है। इसलिए मुझे मूल तालिका में सभी पंक्तियों को खोजना पड़ा जिसमें उच्च utf8 (इमोजी) वर्ण थे।
इस क्वेरी ने उम्मीद के मुताबिक काम किया:
SELECT field FROM `table` WHERE HEX(field) RLIKE "^(..)*F.";
कुछ भी करने से पहले जांचें कि क्या आप अपने डीबी, टेबल और कनेक्शन पर utf8mb4 का उपयोग कर रहे हैं:
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 |
+--------------------------+--------------------+