|
|
|
| В man-e написано что комманда LIKE в MySQL является не чувствительной к регистру.
Я столкнулся с проблемой, что у меня LIKE не чувствительна к регистру только в том случае если я работаю с английским текстом в поле. Если же текст русский, то LIKE сразу становится чувствительным к регистру.
Так же не работает UPPER
Я чувствую что где-то налажал с кодировками, как поковырять?
Текст в базу пишу в UTF-8
в my.cnf всё по умолчанию
MySQL 4.1.12 | |
|
|
|
|
|
|
|
для: Виитка
(09.05.2007 в 23:01)
| | По-моему, тут дело несовсем в кодировке, а скорее в локали. Серверу MySQL нужно указать локаль, в которой ему работать. | |
|
|
|
|
|
|
|
для: Виитка
(09.05.2007 в 23:01)
| | Помогает
my.cnf
[mysqld]
default-character-set=utf8
Но тогда мои данные ещё раз перекодируются в UTF-8 когда я их добавляю в таблицу.
Что то я окончательно запутался... | |
|
|
|
|
|
|
|
для: Виитка
(09.05.2007 в 23:01)
| | Помогло следующее:
в my.cnf
[mysqld]
default-character-set=utf8
При коннекте:
SET NAMES 'utf8';
SET `character_set_client` = 'utf8';
SET `character_set_results` = 'utf8';
SET `collation_connection` = 'utf8_general_ci';
И обязательно при создании базы, перед созданием таблиц
ALTER DATABASE $MYSQL_BASE DEFAULT CHARSET 'utf8'
Теперь правильно работает и LIKE и UPPER | |
|
|
|