2012-08-27 60 views
0

我想創建一個mysql查詢所有元素開始與一些用戶採摘克羅埃西亞字母的信。克羅地亞的變音符號,mysql的查詢問題

它適用於普通的拉丁字母。

我面臨的問題是,當我用S搜索某物並說Š時,我同時得到了以S和Š開頭的元素,同樣適用於ČĆC。

$sql=" SELECT * FROM `default_subjects` where name like '{$keywords}%'"; 

整理集是utf8_unicode_ci。

謝謝。 :)

+0

你用utf8_general_ci排序規則設置了嗎? – Limeni

+0

所以你做***不是***什麼對待「Š」和「S」作爲同一封信? – deceze

+0

是的,我不想把它們當作同一封信。 –

回答

1

由於排序規則規則,「S」和「Š」被視爲相同的字母。這通常被認爲是一件好事,因爲它可以在一定程度上進行「模糊」搜索。如果您不希望這樣並且只希望相同的字母相同,請將排序規則更改爲utf8_bin(二進制排序規則)。您可以將其作爲表格/列的常規設置,或根據需要對每個查詢進行設置,具體取決於您需要哪種功能。有關語法,請參閱http://dev.mysql.com/doc/refman/5.1/en/charset-collate.html

+0

工作,謝謝! –