sql >> Databáze >  >> RDS >> Mysql

Jak bych vyhledával text, který obsahuje emotikony?

Měl jsem situaci, kdy migrace db z jednoho serveru na druhý způsobila, že emotikony zmizely. Musel jsem tedy najít všechny řádky v původní tabulce, která obsahovala znaky s vysokým utf8 (emoji).

Tento dotaz fungoval podle očekávání:

SELECT field FROM `table` WHERE HEX(field) RLIKE "^(..)*F.";

než něco uděláte, zkontrolujte, zda používáte utf8mb4 na připojení db, tabulky A:

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 |
+--------------------------+--------------------+


  1. lomítko před každým problémem s citací

  2. Upgrade Slony-I 2.0.x na nejnovější verzi 2.1.x

  3. Zabránění vkládání SQL v ASP.Net

  4. Nelze se připojit k databázi (000webhosting)