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

Форум MySQL

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

 

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

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

тема: Чувствительность к регистру.
 
 автор: 10100100   (02.08.2006 в 12:16)   письмо автору
 
 

Собсно вношу в базу данных Логины для регистрации, и когда человек регится - ну допустим Admin и пишет по ошибке с маленькой буквы - это принимается как за один и тот же ник, как с этим бороться?

   
 
 автор: Loki   (02.08.2006 в 12:23)   письмо автору
 
   для: 10100100   (02.08.2006 в 12:16)
 

Можно хранить данные в полях типа blob. Они - регистрозависимые.
А можно сравнивать строки средствами php.

   
 
 автор: 10100100   (02.08.2006 в 12:36)   письмо автору
 
   для: Loki   (02.08.2006 в 12:23)
 

асредствами php это всмысле проверка на соответствие?

я не представляю как это будет выглядеть, а Blob поля на сколько я знаю (скорее всего ошибаюсь) либо тормозят БД либо чё такое... а как обчно решают эту проблему? в частности и на этом форуме?

   
 
 автор: Loki   (02.08.2006 в 13:41)   письмо автору
 
   для: 10100100   (02.08.2006 в 12:36)
 

на этом форуме - не решают... правда, с вашим ником это сложно проверить:)

   
 
 автор: 10100100   (02.08.2006 в 14:03)   письмо автору
 
   для: Loki   (02.08.2006 в 13:41)
 

:))))) смышно :)) тоесть если написать loki то это так и будет отображаться???

   
 
 автор: loki   (02.08.2006 в 14:11)   письмо автору
 
   для: 10100100   (02.08.2006 в 14:03)
 

Именно.

   
 
 автор: 10100100   (02.08.2006 в 15:00)   письмо автору
 
   для: loki   (02.08.2006 в 14:11)
 

ммм.... писец :( мнятна :) блин ну мне нужно чёто с этим придумывать...

   
 
 автор: cheops   (02.08.2006 в 17:50)   письмо автору
 
   для: 10100100   (02.08.2006 в 12:16)
 

MySQL какой версии?

   
 
 автор: 10100100   (02.08.2006 в 18:38)   письмо автору
 
   для: cheops   (02.08.2006 в 17:50)
 

Дык у мя Денвер 2 стоит... так что я даж и не знаю... :(

   
 
 автор: Loki   (02.08.2006 в 19:20)   письмо автору
 
   для: 10100100   (02.08.2006 в 18:38)
 


A.5.1. Чувствительность к регистру при поиске
По умолчанию поиск в MySQL является независимым от регистра символов (хотя существуют некоторые кодировки, которые всегда чувствительны к регистру, такие как czech). Это означает, что при поиске с помощью col_name LIKE 'a%' будут выданы все значения столбца, начинающиеся на A или a. Если необходимо выполнить тот же поиск с учетом регистра, для проверки префикса следует использовать что-то вроде INSTR(col_name, "A")=1 или STRCMP(col_name, "A") = 0, если значение в столбце точно равно A.

Простые операции сравнения (>=, >, =, <, <=, сортировка и группировка) основываются на "сорте" каждого символа. Символы одного сорта (такие как E, e и E) обрабатываются как одинаковые символы!

В старых версиях MySQL сравнения по LIKE выполнялись над символами, переведенными в верхний регистр (E == e, но E <> E). В новых версиях MySQL LIKE работает точно так же, как другие операторы сравнения.

Если необходимо, чтобы столбец всегда обрабатывался в с учетом регистра, объявите его с типом BINARY

   
 
 автор: 10100100   (02.08.2006 в 19:35)   письмо автору
 
   для: Loki   (02.08.2006 в 19:20)
 


Если необходимо, чтобы столбец всегда обрабатывался в с учетом регистра, объявите его с типом BINARY  


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

   
 
 автор: Loki   (02.08.2006 в 20:26)   письмо автору
 
   для: 10100100   (02.08.2006 в 19:35)
 


         CHAR(length) [BINARY]
или   VARCHAR(length) [BINARY]

   
 
 автор: 10100100   (02.08.2006 в 21:05)   письмо автору
 
   для: Loki   (02.08.2006 в 20:26)
 

Локи - я ж тупой - мне б по проще да по русски :)

   
 
 автор: Loki   (02.08.2006 в 21:12)   письмо автору
 
   для: 10100100   (02.08.2006 в 21:05)
 

при создании или изменении структуры таблицы надо указать такой тип поля. Тогда оно становится регистрозависимым.

   
 
 автор: cheops   (02.08.2006 в 23:50)   письмо автору
 
   для: Loki   (02.08.2006 в 19:20)
 

Это справедливо для версии < 4.1. В более высоких версиях чувствительностью к регистру можно управлять выбором соответствующей сортировки.

   
 
 автор: 10100100   (03.08.2006 в 06:38)   письмо автору
 
   для: cheops   (02.08.2006 в 23:50)
 

а которая сортировочка не подскажете? :)

   
 
 автор: cheops   (03.08.2006 в 12:13)   письмо автору
 
   для: 10100100   (03.08.2006 в 06:38)
 

В зависимости от того, какой кодировкой пользуетесь, но заканчиваться она должна суффикомо _cs.

   
 
 автор: 10100100   (03.08.2006 в 13:20)   письмо автору
 
   для: cheops   (03.08.2006 в 12:13)
 

Игорь Вячеславович - я себя впервые таким идиотом чувствую - что Вы сейчас сказали? :))))

   
 
 автор: cheops   (03.08.2006 в 13:44)   письмо автору
 
   для: 10100100   (03.08.2006 в 13:20)
 

Выберите сортировку cp1251_general_cs

   
 
 автор: 10100100   (03.08.2006 в 14:34)   письмо автору
 
   для: cheops   (03.08.2006 в 13:44)
 

понял :) пасибо...

   
Rambler's Top100
вверх

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