我创建了一个存储记录的数据库,然后我创建了一个搜索记录的搜索引擎
效果很好,除了阿拉伯字符外,它说“找不到匹配”
这是搜索引擎代码
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);
可能是什么问题?!
答案 0 :(得分:3)
搜索字符串的编码很可能是错误的。如果您需要在将其传递给SQL查询之前,请确保使用内置的urlencode / urldecode和utf8_encode / utf8_decode对其进行正确编码/解码。
您需要如何做到这一点完全取决于您的服务器环境,但在最简单的情况下它只是:
$content = urldecode($_GET['content']);
您还需要确保前一页上的character encoding(将请求链接或提交到搜索页面)已正确设置,否则浏览器将无法正确编码请求。
答案 1 :(得分:1)
我知道这是一个老线程,但它可以帮助其他人,
Php脚本也必须是utf-8编码