【发布时间】:2016-12-17 17:24:53
【问题描述】:
我将带有表情符号的文本存储在 mysql 数据库中。
数据库、表和列设置为使用utf8mb4和utf8mb4_unicode_ci。
我可以毫无问题地输入单元格值(数据类型为VARCHAR)。
但是,当我尝试查询数据库并区分表情符号类型时,mysql 无法区分。
例如,如果我在数据库中查询emoji_column = 'hello????' 所在的行,那么它将返回所有带有'hello' 和any 表情符号的行(例如:'hello??? ?'、'hello????'等)。
这是正常行为吗?如果我想要一个准确的查询,我是否必须比较十六进制值?还是设置不正确?
(表情符号存储正确,即如果我通过其他参数查询数据库,则返回正确的表情符号)。
谢谢。
【问题讨论】:
标签: mysql character-encoding utf8mb4