Буква Ч

bruto

Новичок
Здравствуйте!

Есть база с фамилиями.
Поиск выдает нужные результаты в любом регистре.
Но есть несколько фамилий начинающихся на букву Ч. И в этом проблема :)
С большой буквы (Человеков) все находится замечательно, но вот если запрос маленькими буквами (человеков) - ничего не находит.

В чем тут может быть дело?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Да фиг знает. Штатных телепатов у нас нет. Примеры кода будут?
 

bruto

Новичок
Зачем?
Чем условный Щеглов отличается от условного Чижова с точки зрения кода или запроса?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Условно - разными данными. Дамп базы с ошибочными данными в студию, ну и код, которым баг воспроизводится.
 

bruto

Новичок
MySQL.

Но дамп я не смогу выложить.

З.Ы. С "Ё" та же проблема. Видит только в заданном регистре...
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@bruto, ну так сделай дамп, который будет с мусорными данными и воспроизведет баг. Или у тебя там кодировка/collation какой-то левый, или код.
 

bruto

Новичок
Кодировка левая.
Вот и интересуюсь почему именно "Ч" (в целях повышения образованности)
и можно ли что то сделать уже с такой левой кодировкой
кроме
PHP:
if (strstr($text2, "ч")) {
        $text2 = str_replace("ч", "Ч", $text2);
    }
:)
 

AnrDaemon

Продвинутый новичок
ALTER TABLE COLLATE binary;
ALTER TABLE COLLATE правильная кодировка;
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
"Левая" кодировка лично мне ни о чем не говорит.
 
  • Like
Реакции: WMix

Redjik

Джедай-мастер
гуглить case insensitive collation
все что в mysql заканичвается на ci (utf8_general_ci) означает case insensitive

зы
@AnrDaemon правильно начал, только я не понял при чем тут binary
 

AnrDaemon

Продвинутый новичок
При том, что у него данные в одной кодировке(i.e. CP1251), а таблицы размечены в другой (latin1 обычно…).
 
Сверху