2013-01-16 112 views
1

我有一個MySQL表格,其中包含文本(暱稱)和土耳其文字符。 例如,土耳其語中有一個詞「çığır」。 (帶有英文字符的「cigir」) 它存儲在數據庫中,如「ÄÄıır」。當我在.php頁面打印這個單詞時,它被正確打印(如「çığır」)。從表中選擇土耳其字符?

但是當我做了查詢

SELECT * FROM users WHERE nickname LIKE 'çığır'; 

它返回一個空集。當然,另一種方式(ÄÄıÄÈı±r的暱稱)也適用,但我也希望能做到第一個。我怎樣才能做到這一點?

P.S: 我已經試過

SET NAMES 'UTF8'; 
SET character_set_connection = 'UTF8'; 
SET character_set_client = 'UTF8'; 
SET character_set_results = 'UTF8'; 

這些不工作。

在此先感謝!

+0

嘗試SELECT * FROM用戶WHERE暱稱LIKE'%çığır%';這樣它會在字符串中的任何位置找到該單詞。 – justMe

+0

你從哪裏做查詢?桌子的排列順序是什麼? –

+0

我試過PHPmyAdmin和.php腳本中的查詢都沒有工作。整理是utf8_turkish_ci。感謝所有的答案。我現在會嘗試。嘗試了 – marvin

回答

1

試試這個:

SELECT * FROM users WHERE Convert(nickname using utf8) LIKE 'çığır'; 
+0

。它仍然返回空集。 – marvin

+0

這工作謝謝 –

0

你可能會更好翻譯數據庫爲UTF-8,確保PHP是用正確的字符集查詢,

$link = mysql_connect('localhost', 'user', 'pass'); 
mysql_set_charset("UTF8", $link); 

,而忘記了有趣的編碼共。這樣所有的查詢都會自動運行。