我用emojis在mysql数据库中存储文本。
数据库、表和列被设置为使用utf8mb4
和utf8mb4_unicode_ci
。
我可以毫无问题地输入单元格值(数据类型是VARCHAR
)。
但是,当我试图查询数据库并区分emoji类型时,mysql无法区分。
例如,如果我在数据库中查询emoji_column = 'hello😀'
的行,那么它将返回所有“hello”行以及附加到它的任何emoji(例如:“hello㈳”、“hello😆”等)。
这是正常的行为吗?如果我想要一个准确的查询,我需要比较十六进制值吗?或者是设置不正确?
(emoji存储正确,也就是说,如果我通过其他参数查询数据库,则返回正确的emoji)。
谢谢。
最佳答案
我认为你需要COLLATION utf8mb4_unicode_520_ci
来区分表情符号。
关于mysql - mysql utf8mb4相等,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41201162/