在 Java 中,我将 a 传递String
给 PHP。
在 PHP 中,我使用该字符串并通过查询对其进行MySQL
搜索。
这是php代码:
$query = $database->escape_value(trim($_POST['query']));
$result = mysqli_query($dbconnection, Data::getSearchQuery($query));
while ($row = mysqli_fetch_assoc($result)) {
$output[] = $row;
}
print(json_encode($output));
mysqli_close($dbconnection);
public static function getSearchQuery($item_query) {
$query = "
SELECT i.item, i.item_id, c.category, c.cat_id
FROM items as i
LEFT JOIN master_cat AS c
ON (c.cat_id = i.cat_id)
WHERE i.item LIKE '%{$item_query}%'
ORDER BY i.item ASC;";
return $query;
}
如果我在美式键盘上使用常规字符,这总是有效的。但是当我开始使用不规则字符时,搜索变成了空的。
我可以验证MySQL
在用户输入数据时存储数据。因此,如果他们键入Beyoncè
,这就是数据库存储它的方式。
但是当我在上面的代码中搜索Beyoncè
(或其他)时,它返回空。
我应该如何处理字符。在这里编码?