好的,所以我查了一下,似乎没有人问过这个问题。
所以我有两个词:
thiep cuoi
thiệp cưới
问题是当我COUNT()这些mysql将这两个结合起来时。比如这个sql:
#lets assume these two words have an id of 1 and 2 and that the column name
#in the table is `word`
SELECT `word`, COUNT(`word`)
FROM table_name
WHERE `id` IN(1,2)
GROUP BY `word`;
将两个单词作为一行返回,计数为2.这些不是通过UTF-8相同的单词,如何在MySQL中绕过这种行为? MySQL不是按UTF-8分组而不是转换为ASCII吗? :/
答案 0 :(得分:3)
MySQL使用您在列上设置的排序规则来确定单词中字母的相等性。在您在此列中设置的任何排序规则中,为了进行比较,这些字母被认为是相同的。 MySQL没有进行任何转换或丢弃任何数据。
http://dev.mysql.com/doc/refman/5.5/en/charset-general.html
你可能正在使用像latin1_general_ci或utf8_general_ci这样的常见内容。如果您希望这些字母被视为不同,那么您可能需要二进制排序规则。运行SHOW COLLATION LIKE 'utf8%'
之类的查询,查看服务器上的可用内容。