我们有一个 MySQL InnoDB 表,带有一个文本字段COLLATE utf8mb4_unicode_ci
。我需要搜索包含任何表情符号字符的行。我搜索了相当多的问题,但人们似乎有一个他们正在搜索的表情符号列表。我实际上正在寻找一种可以找到任何表情符号的解决方案。Here https://stackoverflow.com/questions/35010052/searching-emoji-from-varchar-column-returns-different-record are https://stackoverflow.com/questions/41147829/how-can-i-search-by-emoji-in-mysql-using-utf8mb4 some https://stackoverflow.com/questions/28462979/searching-for-emojis-in-mysql没有帮助的帖子。
This one https://stackoverflow.com/questions/21546842/how-to-search-for-special-characters-unicode-characters-and-emojis-in-a-mysql似乎最接近实际为我提供我正在寻找的东西,但OP实际上并没有发布他的搜索代码。
Thanks!
我遇到过数据库从一台服务器迁移到另一台服务器导致表情符号消失的情况。所以我必须找到原始表中包含高 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 |
+--------------------------+--------------------+
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)