我想保存在独特的柱状波兰和德国标志。当我更改数据库时:
alter database osa character set utf8 collate utf8_general_ci;我对德国路标有意见。
sql> insert into company(uuid, name) VALUE ("1","IDE")
[2016-11-27 10:37:35] 1 row affected in 13ms
sql> insert into company(uuid, name) VALUE ("2","IDĘ")
[2016-11-27 10:37:37] 1 row affected in 9ms
sql> insert into company(uuid, name) VALUE ("3","Schuring")
[2016-11-27 10:37:38] 1 row affected in 13ms
sql> insert into company(uuid, name) VALUE ("4","Schüring")
[2016-11-27 10:37:39] [23000][1062] Duplicate entry 'Schüring' for key 'UK_niu8sfil2gxywcru9ah3r4ec5'我要用哪一种校对?
编辑:
也不适用于utf8_unicode_ci
发布于 2016-11-27 21:58:38
alter database osa character set utf8mb4 COLLATE utf8mb4_bin;为我工作。@Maciek Bryń滑雪,谢谢你的提示。
发布于 2016-11-28 02:15:41
_ci中的COLLATION表示“字符不敏感”。不幸的是,它也意味着“口音迟钝”。因此,为了使E和Ę得到不同的对待,您需要一个_bin排序规则-- utf8_bin或utf8mb4_bin。
Emoji和中国人都需要mb4,还有一些晦涩的东西。
发布于 2016-11-27 09:48:08
将所有出现的utf8_general_ci替换为utf8_unicode_ci。显然,utf8_general_ci坏了:ci?
utf8_general_ci是一个非常简单的--在Unicode上,非常坏--排序规则,它在一般Unicode文本上给出了不正确的结果。
https://stackoverflow.com/questions/40827545
复制相似问题