是否有可能使以下查詢字符串不區分大小寫?製作Mysql查詢案例Insentive
SELECT SUBSTR(raw,INSTR(raw,'".$term."') - 50,350) as term,
(LENGTH(raw) - LENGTH(REPLACE(raw,'".$term."',''))) /LENGTH('".$term."') AS occur,name,title
FROM (
SELECT (LENGTH(raw) - LENGTH(REPLACE(raw,'".$term."','')))/LENGTH('".$term."') AS occur, raw, consol.name,title
FROM consol
WHERE LENGTH(raw) - LENGTH(REPLACE(raw,'".$term."',''))>0 AND raw LIKE '%".$term."%' COLLATE utf8_general_ci ORDER BY occur DESC
) t ";
該表的引擎是MyISAM,編碼是UTF8。當我從命令行運行查詢它的作品,但是當我通過瀏覽器執行它時,會引發以下錯誤。
說明:失敗查詢:整理 'utf8_general_ci' 是無效的字符集 'latin1的' 在
該表以UTF-8編碼的utf8_general_ci的整理。我怎樣才能確保「小」的查詢匹配小,小或小?
表的編碼/整理不一定等於任何給定列的編碼/整理。檢查你的列是否確實是utf8。 – Mchl
該列的編碼是UTF-8 Unicode(utf8),排序規則是utf8_general_ci – user2355051
看來這與LENGTH和REPLACE函數有關係嗎?那可能嗎? – user2355051