Общие > Базы данных

Чувствительность к регистру

(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)

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии