DB:MariaDB 10.2
为什么这个简单的正则表达式匹配emoji时,emoji是4字节长。它不应该只匹配问号字符吗?
([email protected]:3306) [test]> select '😃' RLIKE '^[?]+$';
+-----------------------------------+
| '\xF0\x9F\x98\x83' RLIKE '^[?]+$' |
+-----------------------------------+
| 1 |
+-----------------------------------+
1 row in set (0,00 sec)
([email protected]:3306) [test]> SHOW VARIABLES LIKE 'collation%';
+----------------------+--------------------+
| Variable_name | Value |
+----------------------+--------------------+
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_general_ci |
| collation_server | utf8mb4_general_ci |
+----------------------+--------------------+
3 rows in set (0,00 sec)
字符串
1条答案
按热度按时间qaxu7uf21#
我可以在10.6.12上复制:
字符串
我想可能跟这个问题有关:
https://jira.mariadb.org/browse/MDEV-11777?jql=project%20%3D%20MDEV%20AND%20text%20~%20%22regexp%22
当字符集为utf8mb4时,REGEXP_REPLACE函数将补充字符(4字节utf8编码)转换为“?”。
但是对danblack的MDEV-32904的响应表明它可能是由于
character_set%
变量中的不匹配而发生的。例如:型