一个奇怪的搜索结果

时间:2016-07-09 09:34:57

标签: mysql sql

我的MySQL数据库中有一些网站域名,我按如下方式进行搜索:

mysql root@localhost:webinfo> SELECT * FROM raw_domains_res WHERE Domain='albumudinle.com';

+-----------------+-------+--------+
| Domain          |   Num |     id |
|-----------------+-------+--------|
| albumudinle.com |     3 | 588242 |
| albümüdinle.com |     2 | 592846 |
+-----------------+-------+--------+

2 rows in set
Time: 0.001s

在Python中,它们是两个不同的字符串。有谁告诉我为什么?谢谢。

1 个答案:

答案 0 :(得分:0)

我怀疑您的Domain列是unicode排序规则,可能类似于utf8_unicode_ci?使用unicode排序规则查询列会将非ascii字符汇总到其ascii对应项。有关详细信息,请参阅here。您可以通过以下方式避免此问题:

  1. 将列排序规则更改为binary排序规则,例如utf8_bin;或
  2. 对列执行BINARY查询:

    SELECT * FROM raw_domains_res WHERE Domain = BINARY 'albumudinle.com'