Использую mb_stripos.
Если подставить значение, то находит в тексте.
Если это значение было получено через mySql, то оно не распознается.
Кодировки utf-8 везде.
Для php:
mb_internal_encoding("utf-8");
setlocale(LC_ALL, 'ru_RU');
Для mySql:
mysql_query ("set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
mysql_query ("SET NAMES utf8");
всё подключено. обычный текст же находит. а если в переменную записано значение из БД, то уже не может найти. Хотя вывод дает слово "тест" и строка "тест"