0
我在搜索MySQL數據庫時遇到問題。數據庫歸類爲utf8_general_ci
,表格歸類爲latin1_swedish_ci
。我的問題是這樣的:無法正確搜索數據庫'
用戶條目存儲爲(假的隱私名稱)T'quila Smith
,真實姓名是T'quila Smith
。
我的web應用程序需要能夠按名稱正確搜索該用戶,但搜索的名稱爲T'quila
,而不是T'quila
。我試過使用$student_name = str_replace("'", "'", $student_name);
,它(當用echo進行測試時)打印出T'quila
。但是,數據庫無法通過該搜索在數據庫中找到此用戶。
任何人都可以提供一些協助嗎?我一直在爲可能做到這一點而感到茫然。我研究過字符集(我認爲這可能是問題),但我似乎無法得到這個工作。非常感謝誰能幫助我!
您說史密斯先生的名字以實際形式存儲在表中(與'相比,不是撇號)。你怎麼知道?如果你搜索'WHERE NAME LIKE'%39%',會發生什麼?當你搜索'WHERE NAME LIKE'%\'%''時會發生什麼? '史密斯'%'如何說'?史密斯先生的名字在任何這些情況下都會彈出嗎?注意:我並不是建議您在製作中使用這種搜索,而只是爲了確保您知道名稱中的撇號如何存儲。這些愛爾蘭風格的名字是一個臭名昭着的痛苦,在脖子上得到正確的。祝你好運。 –
感謝Ollie。這讓我更接近獲得正確的結果。我認爲我現在需要的只是一段時間來修補這個應用程序,我將能夠得到它。謝謝你的幫助! – mrinehart93