mysql字符集utf 8整理(dup键)无法正常工作

时间:2015-12-08 07:26:57

标签: mysql encoding utf-8 character-encoding collation

我的数据库表格字符集和整理分别设置为utf-8utf8_general_ci。我在varchar列中插入了值为'säî kîråñ'的记录。我有一个独特的列约束。当我尝试插入'sai kiran'时,它会给出重复的条目,指的是旧的插入行'säîkîråñ'。

正如您所看到的,两个字符串中的字符在utf8字符集中完全不同,无法理解为什么它将错误显示为“重复条目”。

我尝试将排序规则更改为utf8_unicode_ci但没有用。我试着直接插入phpmyadmin以避免编程问题,仍然存在问题。

2 个答案:

答案 0 :(得分:1)

如果utf8_general_ci我认为只有'a' and 'A'会被视为相同,但是从here我发现即使'a' and 'ä'也会被视为相同。所以utf8_bin是对待它们的最终解决方案。不错的学习。

答案 1 :(得分:0)

由于缺少utf8_..._ci_as,排序规则,您应该将(至少)该列的排序规则更改为utf8_bin。然后,不是所有这些都相等S=s=Ş=ş=Š=Š=š=š,它们都将是不同的。特别注意。 {f {1}}和s在utf8_bin中将是截然不同的。