如何搜索包含阿拉伯字符的字符串?

时间:2011-06-19 07:16:26

标签: php mysql search arabic

我创建了一个存储记录的数据库,然后我创建了一个搜索记录的搜索引擎

效果很好,除了阿拉伯字符外,它说“找不到匹配”

这是搜索引擎代码

include('conn.php');
mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET utf8'); 

$strlen = strlen($_GET['content']);
$display_count = $_GET['count'];
$select = "SELECT * FROM letter_cast WHERE name LIKE '%".$_GET['content']."%' OR  title LIKE '%".$_GET['content']."%'";
$res = mysql_query($select);
$rec_count = mysql_num_rows($res);

可能是什么问题?!

2 个答案:

答案 0 :(得分:3)

搜索字符串的编码很可能是错误的。如果您需要在将其传递给SQL查询之前,请确保使用内置的urlencode / urldecode和utf8_encode / utf8_decode对其进行正确编码/解码。

您需要如何做到这一点完全取决于您的服务器环境,但在最简单的情况下它只是:

$content = urldecode($_GET['content']);

您还需要确保前一页上的character encoding(将请求链接或提交到搜索页面)已正确设置,否则浏览器将无法正确编码请求。

答案 1 :(得分:1)

我知道这是一个老线程,但它可以帮助其他人,

Php脚本也必须是utf-8编码