SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.01.2015 23:05:18

батарейка
Участник
Зарегистрирован: 29.11.2010
Сообщений: 20

COLLATE

Друзья, помогите разобраться, а то ни как.

Одним словом есть у меня поиск, поиск производится через 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

Помогите разобраться что делать и как правильно эти кодировки выставить.

Спасибо за ваше время.

Неактивен

 

#2 20.01.2015 18:15:21

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: COLLATE

Хммм, а можете полный текст ошибок показать? Там обычно и кодировки указываются.
Ну и запрос, разумеется smile

Нужно смотреть на соответствие кодировок данных (не database, а конкретный столбец
или, если не указано, то таблица) и подключения. В Вашем случае они одинаковые (если
у столбцов нет явного другого указания и нет каких-нибудь COLLATE внутри запроса).

Также проверьте, что делаете LIKE над текстовыми полями (не-текстовые конвертируются
в latin1_swedish_ci, судя по Вашему конфигу).

Неактивен

 

#3 26.01.2015 01:50:21

батарейка
Участник
Зарегистрирован: 29.11.2010
Сообщений: 20

Re: COLLATE

Извиняюсь что пропал. Забил я на это дело. Переписал чуток поиск и стал искать не через Лайк в конкретной таблице а сразу в таблеце глобального поиска куда все сыплется.

Запрос там не простой а буквально страшный. Так как он искал не просто по полям таблицы но и по пересекающимся таблицам, чтоб где прописан айди города в другой таблице найти его имя. Но сейчас наверное это не актуально. Хотя ранее работало. И ищет и сейчас по сути но только в латинице.

Спасибо за совет.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson