8

我的表排序规则是“utf8_general_ci”。如果我运行如下查询:

SELECT * FROM mytable WHERE myfield = "FÖÖ"

我得到的结果:

...  myfield = "FÖÖ"
...  myfield = "FOO"

这是“utf8_general_ci”的默认值吗?

我应该使用什么排序规则来仅获取 myfield = "FÖÖ" 的记录?

4

3 回答 3

7
SELECT * FROM table WHERE some_field LIKE ('%ö%'  COLLATE utf8_bin)
于 2012-08-01T14:21:10.890 回答
3

MySQL 为 Unicode 字符集提供的排序规则列表可以在这里找到:

http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html

如果您想全力以赴并要求字符串绝对相同以便测试相等,您可以使用utf8_bin(二进制排序规则)。否则,您可能需要对提供的不同排序规则进行一些实验。

于 2011-06-08T14:07:55.800 回答
0

对于斯堪的纳维亚字母,您可以使用 utf8_swedish_ci fi 示例。

这是 utf8_swedish_ci 的字符分组。它显示哪些字符被解释为相同。 http://collat​​ion-charts.org/mysql60/mysql604.utf8_swedish_ci.html

这是其他排序规则的目录列表。我不确定哪个是使用的 utf8_general_ci。http://collat​​ion-charts.org/mysql60/

于 2015-04-12T12:26:39.460 回答