我必須承認,我懵了PHP的,而我現在的劇本是繼承了......剝離外國口音的MySQL的查詢
它查詢與city
名稱的MySQL數據庫,並返回找到的所有實例city
。
我遇到了兩個問題:第一個用連字符(例如Stratford-upon-Avon);這已經解決了
$searchq = str_replace('-', ' ', $searchq);
它允許我輸入數據庫中的數據,不用連字符。我的遺留問題與外國口音有關(特別是:急性,嚴重,旋轉,塞迪耶,代字)。我嘗試了一百萬個功能,我在這個網站上找到的許多功能並沒有設法讓它起作用。
我的當前頁面的主PHP代碼是這樣的
$searchq = filter_var("%{$_POST['keyword']}%", FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH); // Sanitize the string
$ SEARCHQ = str_replace函數( ' - ', '',$ SEARCHQ);
$sql = "SELECT Image, Chain, Country, City, Top as '', Medium as '', Low as '' FROM Chains WHERE Country LIKE ? OR City LIKE ?"; // Your query string
$prepare = $mysqli->prepare($sql); // Prepare your query string
$prepare->bind_param('ss', $searchq, $searchq); // Bind the placeholders to your search variables
// s = string | i = integer | d = double | b = blob
$prepare->execute(); // Execute the prepared statement
$prepare->store_result(); // Store the results for later checking
我避免來到這個論壇,因爲我明白,這是供高級開發人員,我不是其中之一......
所有上面的代碼確實是刪除重音信,而不是相同的字母替換它沒有口音
編輯
,怎樣才能再次得到奧利·瓊斯的注意?
我卡住了,不知道如何處理腳本部分
另一個編輯 當我在表的SQL進入這個
ALTER TABLE鏈轉換爲字符集utf8mb4 COLLATE utf8_general_ci;
我得到這樣的警告,什麼都做不了......
#1253 - 整理「utf8_general_ci」是無效的字符集「utf8mb4」
你剛好在這裏。歡迎來到Stackoverflow。爲什麼你想擺脫所有這些特殊字符?你的數據庫不能包含它們嗎? – ZeissS
以法國小鎮塞弗爾(Sèvres)爲例。像數據庫中的許多其他人一樣(1000年代),我不想同時使用和不使用重音符號。所以數據庫有'Sevres',如果有人寫出正確的單詞,那麼此時答覆是「Nothing found」... –
讓我添加最後一條有關輸入數據庫的註釋,其中帶有和不帶重音符號。以簡單的字'Sèvres'(墳墓)。像我這樣的人可能會寫'Sévres'(急性)。其他人過去用Google寫'Sevres'(沒有口音)。這是一個簡單的例子。在更復雜的情況下,你可能會有兩個不同的跡象(嚴重和旋律;急性和cedilla);那麼你將會有一些由兩三個單詞組成的單詞,併爲所有的組合和可能出現的錯誤創造空間,最終導致大量的工作和困惑......「簡單」的出路是讓腳本去掉所有的口音。 –