我的表格整理是“utf8_general_ci”。如果我运行如下查询:
SELECT * FROM mytable WHERE myfield = "FÖÖ"
我得到的结果是:
... myfield = "FÖÖ"
... myfield = "FOO"
这是“utf8_general_ci”的默认值吗?
我应该使用哪种排序规则来获取myfield =“FÖÖ”的记录?
答案 0 :(得分:6)
SELECT * FROM table WHERE some_field LIKE ('%ö%' COLLATE utf8_bin)
答案 1 :(得分:3)
可以在此处找到MySQL为Unicode字符集提供的排序规则列表:
http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html
如果你想全力以赴并且要求字符串完全相同以便测试相等,你可以使用utf8_bin
(二进制排序规则)。否则,您可能需要对提供的不同排序规则进行一些实验。
答案 2 :(得分:0)
对于斯堪的纳维亚字母,您可以使用utf8_swedish_ci fir示例。
这是utf8_swedish_ci的字符分组。它显示哪些字符被解释为相同。 http://collation-charts.org/mysql60/mysql604.utf8_swedish_ci.html
这是其他排序规则的目录列表。我不确定使用的utf8_general_ci是哪个。 http://collation-charts.org/mysql60/