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

标签 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);

可能是什么问题?!

最佳答案

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

您需要如何执行此操作完全取决于您的服务器环境,但在最简单的情况下,它只是:

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

您还需要确保 character encoding任何先前页面(链接或提交请求到搜索页面)的设置是否正确,否则浏览器将不会正确编码请求。

关于php - 如何搜索包含阿拉伯字符的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6401122/

相关文章:

php - 将 Microsoft dynamic 2013 或 2015 与 PHP 集成

mysql - 由于 'Sending passwords in plain text without SSL/TLS is extremely insecure.',ansible mysql 复制无法将 master 更改为

mongodb - com.mongodb.MongoException:无法与主服务器和重试通话

ios - 取消搜索栏

python - 查找文件中的哪些行包含特定字符

php - MongoDB 和 PHP 框架

php - Laravel 查询计数总行数

mysql - mysql中如何划分和舍入?

php - 哪种变量设置方法更好?

php - ini_set, set_time_limit, (max_execution_time) - 不工作