Java では、aString
を 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;
}
US キーボードで通常の文字を使用している場合、これは常に機能します。しかし、不規則な文字を使い始めた瞬間、検索が空になります。
MySQL
ユーザーが入力したとおりにデータが保存されていることを確認できます。したがって、彼らが入力した場合Beyoncè
、それがデータベースに保存される方法です。
しかしBeyoncè
、上記のコードで (または何でも) を検索すると、空が返されます。
char をどのように処理すればよいですか。ここでエンコード?