我创建了一个存储记录的数据库,然后创建了一个搜索记录的搜索引擎
它工作得很好,除了阿拉伯字符,它说“没有找到匹配”。
这就是搜索引擎的代码
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);
这可能是什么问题?!
发布于 2011-06-19 16:24:00
搜索字符串的编码很可能是错误的。在将其传递给SQL查询之前,如果需要,请确保使用内置的urlencode/urldecode和utf8_encode/utf8_decode对其进行了正确的编码/解码。
具体需要如何执行此操作在一定程度上取决于您的服务器环境,但在最简单的情况下,它只是:
$content = urldecode($_GET['content']);
您还需要确保以前任何页面(链接或向搜索页面提交请求)上的character encoding都已正确设置,否则浏览器将不会对请求进行正确编码。
发布于 2013-02-21 05:33:02
我知道这是个老生常谈的话题,但它可以帮助别人,
Php脚本还必须采用utf-8编码
https://stackoverflow.com/questions/6401122
复制相似问题