我使用php和mysql創建搜索引擎。Mysql LIKE子句和口音
它可以工作,但是如果我搜索「publié」這個詞,它不會找到任何東西,但是如果我搜索單詞「Publie」,它會顯示嵌入術語「publie」和「publié」的結果。
如何使口音敏感的搜索只得到與我要求的結果完全一致,帶或不帶口音?
下面是我用一個典型的請求:
$requete4 = mysql_query("
SELECT
title,
description,
CONCAT(
IF (title LIKE '%".search_word."%', '1', '0'),
IF (description LIKE '%".$search_word."%', '1', '0-')
) AS match_bitmask
FROM mytable
WHERE
(
title LIKE '%".$search_word."%' OR
description LIKE '%".$search_word."%'
)
ORDER BY id DESC
");
注1:我的所有表,VARCHAR處理並在MySQL文本字段utf8_general_ci。
注2:我試圖在請求結尾處添加「COLLATE utf8_general_ci」,但收到錯誤消息。
謝謝你的幫助。
«我得到一個錯誤消息» - 你讀過了嗎? –
「mysql_fetch_array():提供的參數不是有效的MySQL」。但是,除非使用Collate子句,否則我的請求完全有效,不會生成任何異常。 – Baylock
這是一個** PHP **錯誤消息,抱怨您嘗試從失敗的查詢中提取行。您還需要獲取** MySQL **錯誤。轉到['mysql_error()'手冊頁](http://php.net/mysql_error),滾過*不要使用此擴展名*紅色通知並查看示例。 –