Посольку движок написан на PHP, то могу привести пример, как справится с регистрозависимостью с помощью
массивов символов.
Простой запрос вида:
Код:
include('dbconnect.php');
$r=mysql_query("select * from gallery where name like '".$name."%' or author like '".$author."%'",$dbconnect);
будет регистрозависимым.
Но если создать массивы символов и использовать массивы в SQL запросе, то регистр символов как в
латинской кодировке, так и в кириллической будет проигнорирован.
Код:
include('dbconnect.php');
$l=array('[aA]', '[bB]', '[cC]', '[dD]', '[eE]', '[fF]', '[gG]', '[hH]', '[iI]', '[jJ]', '[kK]', '[lL]', '[mM]', '[nN]', '[oO]', '[pP]', '[qQ]', '[rR]', '[sS]', '[tT]', '[uU]', '[vV]', '[wW]', '[xX]', '[yY]', '[zZ]', '[аА]', '[бБ]', '[вВ]', '[гГ]', '[дД]', '[еЕ]', '[ёЁ]', '[жЖ]', '[зЗ]', '[иИ]', '[йЙ]', '[кК]', '[лЛ]', '[мМ]', '[нН]', '[оО]', '[пП]', '[рР]', '[сС]', '[тТ]', '[уУ]', '[фФ]', '[хХ]', '[цЦ]', '[чЧ]', '[шШ]', '[щЩ]', '[ьЬ]', '[ыЫ]', '[ъЪ]', '[эЭ]', '[юЮ]', '[яЯ]');
$rl=array('/[aA]/', '/[bB]/', '/[cC]/', '/[dD]/', '/[eE]/', '/[fF]/', '/[gG]/', '/[hH]/', '/[iI]/', '/[jJ]/', '/[kK]/', '/[lL]/', '/[mM]/', '/[nN]/', '/[oO]/', '/[pP]/', '/[qQ]/', '/[rR]/', '/[sS]/', '/[tT]/', '/[uU]/', '/[vV]/', '/[wW]/', '/[xX]/', '/[yY]/', '/[zZ]/', '/[аА]/', '/[бБ]/', '/[вВ]/', '/[гГ]/', '/[дД]/', '/[еЕ]/', '/[ёЁ]/', '/[жЖ]/', '/[зЗ]/', '/[иИ]/', '/[йЙ]/', '/[кК]/', '/[лЛ]/', '/[мМ]/', '/[нН]/', '/[оО]/', '/[пП]/', '/[рР]/', '/[сС]/', '/[тТ]/', '/[уУ]/', '/[фФ]/', '/[хХ]/', '/[цЦ]/', '/[чЧ]/', '/[шШ]/', '/[щЩ]/', '/[ьЬ]/', '/[ыЫ]/', '/[ъЪ]/', '/[эЭ]/', '/[юЮ]/', '/[яЯ]/');
$r=mysql_query("select * from gallery where name regexp '".preg_replace($rl,$l,$name)."' or author regexp '".preg_replace($rl,$l,$author)."'",$dbconnect);
Я надеюсь, что понятно объяснил?