是否有可能使以下查询字符串不区分大小写?制作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