MySQL为单个表情符号返回多个结果

时间:2017-03-09 22:11:51

标签: mysql utf-8 emoji utf8mb4

我正在观察包含单个表情符号的VARCHAR字段的一些奇怪的MySQL行为。连接,数据库和列都是utf8mb4编码和排序规则。

有一个名为categories的表格,其中包含idtitle个字段。有三行,标题为和。

当我运行查询以查找带有标题的行时,我也会使用单个emojis获取所有其他行,就像MySQL将它们视为相同的字符一样。

Query for credit card emoji returning all other single emoji rows

预期的行为应该是只返回行。

2 个答案:

答案 0 :(得分:2)

归类确定两个字符是否相等。

https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-sets.html

如果只想要精确的二进制匹配,则可能需要指定二进制排序规则。

latin1的一些语法示例。

https://dev.mysql.com/doc/refman/5.7/en/case-sensitivity.html

答案 1 :(得分:1)

您需要整理utf8mb4_unicode_520_ci;较旧的校对将表情符号视为平等。