UTF8/Unicode ペルシア語/アラビア語のみでの全文検索に問題があります (クエリから何も見つかりません)。
- テーブルはエンコード時に utf8/utf8_persian_ci で設定されます。
mysql_query("SET NAMES 'UTF8'");
Unicode クエリに使用します。- 英語の文字列は正常に機能します。
以下は私の検索コードです。
<?php
mysql_connect("localhost", "user", "password");
mysql_select_db("search");
mysql_query("SET NAMES 'UTF8'");
$q = $_GET['q'];
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>">
<input type="text" name="q" value="<?php echo $q; ?>">
<input type="submit" value="Search!">
</form>
<hr>
<?php
if (isset($q))
{
$res = mysql_query("SELECT *, MATCH(name, description) AGAINST ('$q') AS score from search_test WHERE MATCH (name, description) AGAINST('$q') order by score desc");
$ant = mysql_num_rows($res);
if ($ant > 0)
{ // query provided results – display results
echo ("<br/><h2>Search results for \"$q\":</h2>");
while ($result = mysql_fetch_array($res))
{
echo ("<h3>{$result['name']} ({$result['score']})</h3>{$result['description']}<br/><br/>");
}
}
else
{ // query provided 0 results – display 0 hit message
echo ("<br/><h2>Nothing Found \"$q\" query</h2>");
}
}
?>
どこに問題があるのか、または Unicode 言語で全文検索するにはどうすればよいですか?