Задавайте вопросы, мы ответим
Вы не зашли.
Друзья, помогите разобраться, а то ни как.
Одним словом есть у меня поиск, поиск производится через LIKE по разным таблицам с разными полями и записями. Там строится сложный запрос. И тут заметил не работает. Вернее то работает то нет. Потом обратил внимание что не ищет кирилицей, начал ковырять этот вопрос, по ошибке "Illegal mix of collations for operation 'like'" вышел на эти хаки "В запросе после каждого оператора LIKE я вставлял такую запись COLLATE utf8_unicode_ci".
Я попробовал но у меня все таже ошибка, как разобраться что вписать непонятно если честно, от чего и спрашиваю тут.
Сделал запрос:
SHOW VARIABLES LIKE 'collation%'
Получил ответ
collation_connection utf8_general_ci
collation_database utf8_unicode_ci
collation_server latin1_swedish_ci
Все таблицы в utf8_general_ci.
SHOW VARIABLES LIKE "character_set_database"
character_set_database utf8
Помогите разобраться что делать и как правильно эти кодировки выставить.
Спасибо за ваше время.
Неактивен
Хммм, а можете полный текст ошибок показать? Там обычно и кодировки указываются.
Ну и запрос, разумеется
Нужно смотреть на соответствие кодировок данных (не database, а конкретный столбец
или, если не указано, то таблица) и подключения. В Вашем случае они одинаковые (если
у столбцов нет явного другого указания и нет каких-нибудь COLLATE внутри запроса).
Также проверьте, что делаете LIKE над текстовыми полями (не-текстовые конвертируются
в latin1_swedish_ci, судя по Вашему конфигу).
Неактивен
Извиняюсь что пропал. Забил я на это дело. Переписал чуток поиск и стал искать не через Лайк в конкретной таблице а сразу в таблеце глобального поиска куда все сыплется.
Запрос там не простой а буквально страшный. Так как он искал не просто по полям таблицы но и по пересекающимся таблицам, чтоб где прописан айди города в другой таблице найти его имя. Но сейчас наверное это не актуально. Хотя ранее работало. И ищет и сейчас по сути но только в латинице.
Спасибо за совет.
Неактивен