|
|
|
| Собсно вношу в базу данных Логины для регистрации, и когда человек регится - ну допустим Admin и пишет по ошибке с маленькой буквы - это принимается как за один и тот же ник, как с этим бороться? | |
|
|
|
|
|
|
|
для: 10100100
(02.08.2006 в 12:16)
| | Можно хранить данные в полях типа blob. Они - регистрозависимые.
А можно сравнивать строки средствами php. | |
|
|
|
|
|
|
|
для: Loki
(02.08.2006 в 12:23)
| | асредствами php это всмысле проверка на соответствие?
я не представляю как это будет выглядеть, а Blob поля на сколько я знаю (скорее всего ошибаюсь) либо тормозят БД либо чё такое... а как обчно решают эту проблему? в частности и на этом форуме? | |
|
|
|
|
|
|
|
для: 10100100
(02.08.2006 в 12:36)
| | на этом форуме - не решают... правда, с вашим ником это сложно проверить:) | |
|
|
|
|
|
|
|
для: Loki
(02.08.2006 в 13:41)
| | :))))) смышно :)) тоесть если написать loki то это так и будет отображаться??? | |
|
|
|
|
|
|
|
для: 10100100
(02.08.2006 в 14:03)
| | Именно. | |
|
|
|
|
|
|
|
для: loki
(02.08.2006 в 14:11)
| | ммм.... писец :( мнятна :) блин ну мне нужно чёто с этим придумывать... | |
|
|
|
|
|
|
|
для: 10100100
(02.08.2006 в 12:16)
| | MySQL какой версии? | |
|
|
|
|
|
|
|
для: cheops
(02.08.2006 в 17:50)
| | Дык у мя Денвер 2 стоит... так что я даж и не знаю... :( | |
|
|
|
|
|
|
|
для: 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
| |
|
|
|
|
|
|
|
для: Loki
(02.08.2006 в 19:20)
| |
Если необходимо, чтобы столбец всегда обрабатывался в с учетом регистра, объявите его с типом BINARY
|
а это где указывать надо? при поиске или записи в базу? я чёт не понял. | |
|
|
|
|
|
|
|
для: 10100100
(02.08.2006 в 19:35)
| |
CHAR(length) [BINARY]
или VARCHAR(length) [BINARY]
|
| |
|
|
|
|
|
|
|
для: Loki
(02.08.2006 в 20:26)
| | Локи - я ж тупой - мне б по проще да по русски :) | |
|
|
|
|
|
|
|
для: 10100100
(02.08.2006 в 21:05)
| | при создании или изменении структуры таблицы надо указать такой тип поля. Тогда оно становится регистрозависимым. | |
|
|
|
|
|
|
|
для: Loki
(02.08.2006 в 19:20)
| | Это справедливо для версии < 4.1. В более высоких версиях чувствительностью к регистру можно управлять выбором соответствующей сортировки. | |
|
|
|
|
|
|
|
для: cheops
(02.08.2006 в 23:50)
| | а которая сортировочка не подскажете? :) | |
|
|
|
|
|
|
|
для: 10100100
(03.08.2006 в 06:38)
| | В зависимости от того, какой кодировкой пользуетесь, но заканчиваться она должна суффикомо _cs. | |
|
|
|
|
|
|
|
для: cheops
(03.08.2006 в 12:13)
| | Игорь Вячеславович - я себя впервые таким идиотом чувствую - что Вы сейчас сказали? :)))) | |
|
|
|
|
|
|
|
для: 10100100
(03.08.2006 в 13:20)
| | Выберите сортировку cp1251_general_cs | |
|
|
|
|
|
|
|
для: cheops
(03.08.2006 в 13:44)
| | понял :) пасибо... | |
|
|
|