Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Независимый регистр

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ExPress
Отправлено: 03 Августа, 2013 - 19:29:56
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




Не пойму почему при запросе например
SELECT * FROM table WHERE name = 'tratata'
адекватно находит эту запись, хотя там не tratata, а TraTaTa ?
 
 Top
Okula
Отправлено: 03 Августа, 2013 - 19:36:48
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




ExPress, если в БД кодировка на поле name выставлена utf8_general_ci то сравнение будет происходить без учёта регистра.
 
 Top
LIME
Отправлено: 03 Августа, 2013 - 19:39:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




настройка colation для таблицы
например если она будет utf8_general_ci то при сравнении строк не будут учитываться регистры букв
но будут учитываться при сортировке
(Добавление)
Okula не путать с кодировкой
 
 Top
Okula
Отправлено: 03 Августа, 2013 - 19:47:45
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




LIME, всё правильно я сказал. Если кодировка сравнения будет utf8_general_ci то сравнение строк будет происходить без учёта регистра. Для того чтоб сравнивать строки с учётом регистра необходимо выставить кодировку сравнения utf8_bin или utf8_general_cs
(Добавление)
P.S. кодировка не обязательно должна быть utf8, это может быть любая кодировка, но только нужно помнить что окончание ci (case insensitive) - не чувствительно к регистру.
С окончанием cs (case sensitive) - чувствительна к регистру.
(Добавление)
Например, можно проверить соответствие строк с учётом регистра таким образом:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM `table` WHERE `name`='tratata' COLLATE utf8_bin

При выставленной кодировке сравнения utf8_general_ci у поля name.
 
 Top
LIME
Отправлено: 03 Августа, 2013 - 20:40:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Okula пишет:
всё правильно я сказал.
нет...
кодировка базы это одно
а collation это то что ты описал
они существуют независимо друг от друга
 
 Top
Okula
Отправлено: 03 Августа, 2013 - 21:54:48
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




LIME, а я и слова не писал про кодировку базы данных.
 
 Top
LIME
Отправлено: 03 Августа, 2013 - 22:35:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Okula пишет:
если в БД кодировка на поле name выставлена utf8_general_ci
кодировка не может быть другой кроме как кодировкой базы...самый банальный набор обычных кодировок
collation это правило сравнения а никак не кодировка
потому
LIME пишет:
Okula не путать с кодировкой
 
 Top
ExPress
Отправлено: 04 Августа, 2013 - 00:24:51
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Май 2013  


Помог: 0 раз(а)




спс раскрыли глаза Ха-ха
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB