1

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 をどのように処理すればよいですか。ここでエンコード?

4

1 に答える 1