mysql查询选择与变音土耳其字母

时间:2014-03-17 13:02:25

标签: mysql sql collation diacritics turkish

我在土耳其语中有一个令牌表; 它的默认排序规则是 utf8_general_ci 在FreeBSD服务器上,mysql版本是5.6.15

我想查询;

select * from tokens where type like 'âmâ';

select * from tokens where type='âmâ';

通过这些查询, 结果必须是'âm'唯一的一个(在土耳其语中也意味着'盲目') 但我有四个原始结果;

result 1 "amâ" means 'but'
result 2 "ama" means 'but'
result 3 "âma" means 'blind'
result 4 "âmâ" means 'blind'

我不想要。

我尝试了不同的排序规则和字符集以及名称。 但与工作结果相同。

请帮助

2 个答案:

答案 0 :(得分:2)

您可以强制进行二元比较:

SELECT * FROM tokens WHERE BINARY type='âmâ';

请参阅binary operator的文档。

答案 1 :(得分:1)

土耳其整理是latin5_turkish_ci。见:Character Sets and Collations in MySQL

使用COLLATE - 子句中的WHERE关键字。

SELECT *
FROM tokens
WHERE type = 'âmâ' COLLATE latin5_turkish_ci;

我还没有测试过。我希望它有所帮助。

请参阅:Using COLLATE in SQL StatementsCollation of Expressions