![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
"Ниразу не флэшер"
|
Уважаемые спецы. Вопрос по таблицам в mySQL и работе с ними в PHP. Точнее, наверное, по кодировкам в этих таблицах. Напишу вопрос внутри. Очень прошу помощи. Чтобы раз и навсегда с этим разобраться.
Есть у меня какие-то таблицы в проекте. По умолчанию они создавались в какой-то latin кодировке. Я конвертировал одну из них (edit_maket) в UTF8_unicode_ci (или это мне показалось, что я сконвертировал). [img]http://img42.**************/img42/6624/picture1zzv.jpg[/img] phpMyAdmin говорит (или я его неправильно понимаю), что все поля в этой таблице - utf8_unicode_ci. То есть максимально правильно должны пониматься русские буквы. [img]http://img25.**************/img25/7748/picture2dn.jpg[/img] Но когда я пишу запрос поиска с использованием SELECT...LIKE то он находит только буквы и слова в том регистре, как я написал. То есть только маленькие буквы или только большие. [img]http://img35.**************/img35/5303/picture4ar.jpg[/img] то есть, чтобы он находил записи и с большой буквой "В", и с маленькой "в" мне нужно писать OR, что глупо и не решает вопроса. [img]http://img36.**************/img36/7311/picture3ga.jpg[/img] Подскажите, пожалуйста, что делать? При коннекте к базе я выполняю запрос "set CHARACTER SET UTF8_unicode_ci" но ничего не меняется.
__________________
стучитесь в асю за дополнительной помощью.... ЗЫ: ПОИСК действительно рулит. |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 258
|
а вам обязательно UTF8?
у меня например сравнение cp1251_general_ci при каждом подключение ещё даю запрос на всякий случай SET NAMES 'cp1251' При создание таблиц так же указываю ENGINE=MyISAM CHARACTER SET=cp1251; Ну и в самих конфигах базы... либо my.cnf либо my.ini там строчка есть default-character-set=cp1251 точно помню, если что-то забыть, то могут иероглифы сохраняться... попробуйте сделать то-же самое только для utf8 |
|
|||||
|
[+1 01.06.10]
[+1 18.05.10] Регистрация: Apr 2010
Сообщений: 128
|
ну, не знаю, у меня SELECT*from bla WHERE blabla LIKE %myData%, ищет во всех регистрах ! чтобы искал регистро-зависимо, нада указывать BINARY, то есть
SELECT*from bla WHERE blabla LIKE BINARY %myData% что то у вас явно не так и не то …*потому что даже в доках, чтобы добиться регистро-зависимоего поиска, добавляют binary …*при обычном же поиске выдаются результаты не регистро-зависимого поиска …* Добавлено через 2 минуты а зачем в скобках то указывать условие ? вы вобще доки читаете ? SELECT*from edit_maket WHERE mKomu LIKE %b%
__________________
md5 еще какое то (я так понял кодировка) … вот такие дела )) |
|
|||||
|
"Ниразу не флэшер"
|
membrilius: да, я убил базу и создал её вручную и красиво. Просто красиво сконвертировать вчера так и не получилось
Теперь всё, конечно, работает, когда и база создана с правильным characterset, и таблицы создавались с utf8_general_ci по умолчанию, и каждое текстовое/чаровое поле в них тоже прописывалось как collate utf8_general_ci. gldrawworld: оно работает, когда везде правильная кодировка. скобочки в третьей картинке стоят, потому что на самом деле я скриншотил её после четвёртой. А в четвёртой был OR в условии и потом я просто не всё поудалял. Да не важно это. Ок, спасибо ребята, за сопереживание.
__________________
стучитесь в асю за дополнительной помощью.... ЗЫ: ПОИСК действительно рулит. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|