簡體   English   中英

MySQL查詢選擇像變音符號土耳其字母

[英]mysql query select like with diacritic Turkish letters

我有一個土耳其語的令牌表; 它的默認排序規則是utf8_general_ci在FreeBSD服務器上,mysql版本是5.6.15

我想查詢;

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

要么

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

對於這些查詢,結果必須是“âm”的唯一值(在土耳其語中也表示“ blind”),但是我有四個原始結果;

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

那不是我想要的。

我嘗試了不同的排序規則,字符集和名稱。 但是與工作結果相同。

任何幫助請

您可以強制進行二進制比較:

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

請參閱二進制運算符的文檔。

土耳其語歸類為latin5_turkish_ci 請參閱: MySQL中的字符集和排序規則

COLLATE WHERE使用COLLATE關鍵字。

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

我還沒有測試。 希望對您有所幫助。

請參閱: 在SQL語句表達式排序中 使用COLLATE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM