1

トルコ語の文字を含むテキスト(ニックネーム)を含むMySQLテーブルがあります。たとえば、トルコ語で「 çığır 」という単語があります。(英語の文字を含む「cigir」)「çığır」のようにデータベースに保存されます。この単語を.phpページに印刷すると、正しく印刷されます(「çığır」として)。

しかし、私がクエリを行うとき

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

空のセットを返します。もちろん、他の方法(çığırのようなニックネーム)も機能しますが、最初の方法も実行できるようにしたいと思います。これどうやってするの?

ps:試しました

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

これらは機能しません。

前もって感謝します!

4

2 に答える 2

1

これを試して:

SELECT * FROM  users WHERE Convert(nickname using utf8) LIKE 'çığır';
于 2013-01-16T11:00:53.793 に答える
0

データベースを UTF-8 に変換して、php が正しい文字セットでクエリを実行していることを確認したほうがよいかもしれません。

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

面白いエンコーディングを完全に忘れてください。このようにして、すべてのクエリが自動的に機能します。

于 2013-01-16T11:08:16.010 に答える