MariaDB选择了错误的unicode字符

时间:2016-04-14 20:59:53

标签: unicode mariadb utf8mb4

INSERT INTO table_namecol_name)VALUES('');

SELECT * FROM table_name WHERE col_name ='';

我的意见是,我不会从第二个查询中返回任何行,但会返回。

该表是utf8mb4,其中包含排序规则utf8mb4_unicode_ci。

与ci有关吗?我想保留它。

1 个答案:

答案 0 :(得分:0)

SELECT '' = '' COLLATE utf8mb4_unicode_ci,
       '' = '' COLLATE utf8mb4_unicode_520_ci;

收益率为1和0.

也就是说,utf8mb4_unicode_ci将表情符号视为平等,但utf8mb4_unicode_520_ci将它们视为不同。

因此,请将col_name的排序规则更改为utf8mb4_unicode_520_ci