Общие > Базы данных
Чувствительность к регистру
(1/1)
YT:
Есть ли возможность отменить чувствительность к регистру при поиске в бинарных полях (VARCHAR BINARY, BLOB)?
Дело в том, что из-за проблем с win1251 на сервере моего хостинг-провайдера функции UCASE("кириллица win1251") и LCASE("кириллица win1251") работают неверно.
Fluke:
Я предлагаю убрать VARCHAR из определения поля таблицы.
Таким образом чувствительности к регистру не будет.
А затем, когда нужна будет чуствительность к регистру, то
просто ставить BINARY перед названием поля при поиске.
Например select binary имя_поля from имя_таблицы (case зависимый поиск), а select имя_поля from имя_таблицы (case независимый поиск, по умолчанию)
Но скорее всего у тебя проблемы с кодировками. По умолчанию то небось стоит Latin1
С уважением.
Realtor from Moscow:
Проще всего использовать свои конверторы.
Типа как:
# возвращает русскую строку БОЛЬШИМИ буквами
sub rutextup {
my $pvdtextstring=shift;
$pvdtextstring=~ tr/\\xE0\\xE1\\xE2\\xE3\\xE4\\xE5\\xE6\\xE7\\xE8\\xE9\\xEA\\xEB\\xEC\\xED\\xEE\\xEF\\xF0\\xF1\\xF2\\xF3\\xF4\\xF5\\xF6\\xF7\\xF8\\xF9\\xFA\\xFB\\xFC\\xFD\\xFE\\xFF/\\xC0\\xC1\\xC2\\xC3\\xC4\\xC5\\xC6\\xC7\\xC8\\xC9\\xCA\\xCB\\xCC\\xCD\\xCE\\xCF\\xD0\\xD1\\xD2\\xD3\\xD4\\xD5\\xD6\\xD7\\xD8\\xD9\\xDA\\xDB\\xDC\\xDD\\xDE\\xDF/;
return $pvdtextstring;
}
# возвращает русскую строку маленькими буквами
sub rutextdown {
my $pvdtextstring=shift;
$pvdtextstring=~ tr/\\xC0\\xC1\\xC2\\xC3\\xC4\\xC5\\xC6\\xC7\\xC8\\xC9\\xCA\\xCB\\xCC\\xCD\\xCE\\xCF\\xD0\\xD1\\xD2\\xD3\\xD4\\xD5\\xD6\\xD7\\xD8\\xD9\\xDA\\xDB\\xDC\\xDD\\xDE\\xDF/\\xE0\\xE1\\xE2\\xE3\\xE4\\xE5\\xE6\\xE7\\xE8\\xE9\\xEA\\xEB\\xEC\\xED\\xEE\\xEF\\xF0\\xF1\\xF2\\xF3\\xF4\\xF5\\xF6\\xF7\\xF8\\xF9\\xFA\\xFB\\xFC\\xFD\\xFE\\xFF/;
return $pvdtextstring;
}
Это функции от PVD lab 8)
Навигация
Перейти к полной версии