Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Использование LIKE в MySQL
 
 автор: Виитка   (09.05.2007 в 23:01)   письмо автору
 
 

В man-e написано что комманда LIKE в MySQL является не чувствительной к регистру.
Я столкнулся с проблемой, что у меня LIKE не чувствительна к регистру только в том случае если я работаю с английским текстом в поле. Если же текст русский, то LIKE сразу становится чувствительным к регистру.
Так же не работает UPPER
Я чувствую что где-то налажал с кодировками, как поковырять?
Текст в базу пишу в UTF-8
в my.cnf всё по умолчанию
MySQL 4.1.12

   
 
 автор: Trianon   (09.05.2007 в 23:21)   письмо автору
 
   для: Виитка   (09.05.2007 в 23:01)
 

По-моему, тут дело несовсем в кодировке, а скорее в локали. Серверу MySQL нужно указать локаль, в которой ему работать.

   
 
 автор: Виитка   (10.05.2007 в 00:14)   письмо автору
 
   для: Виитка   (09.05.2007 в 23:01)
 

Помогает
my.cnf
[mysqld]
default-character-set=utf8

Но тогда мои данные ещё раз перекодируются в UTF-8 когда я их добавляю в таблицу.

Что то я окончательно запутался...

   
 
 автор: Виитка   (10.05.2007 в 02:21)   письмо автору
 
   для: Виитка   (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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования