从表中选择土耳其字符?

时间:2013-01-16 10:57:30

标签: mysql character turkish

我有一个MySQL表,其中包含带有土耳其语字符的文本(昵称)。 例如,土耳其语中有一个单词“çığır”。 (带有英文字符的“cigir”) 它存储在数据库中,如“çığır ”。当我在.php页面中打印这个单词时,它被正确打印(如“çığır”)。

但是当我进行查询时

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

它返回一个空集。当然另一种方式(昵称像ıır±r)有效,但我也希望能够做到第一个。我怎么能这样做?

P.S .: 我试过了

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

这些不起作用。

提前致谢!

2 个答案:

答案 0 :(得分:1)

试试这个:

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

答案 1 :(得分:0)

你可能最好将数据库翻译成UTF-8,确保php使用正确的字符集进行查询,

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

完全忘记了有趣的编码。这样,您的所有查询都将自动生效。