我创建了一个存储记录的数据库,然后我创建了一个搜索记录的搜索引擎
效果很好,除了阿拉伯字符,它说“找不到匹配项”
这是搜索引擎代码
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/