SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.04.2017 09:51:43

VasMed
Участник
Зарегистрирован: 28.04.2017
Сообщений: 3

Как искать любой символ русского текста в кодировке UTF8 через Rlike?

Делаю поиск для библиографии. Поскольку нужно искать по словам, использую Rlike (Regexp).
База на mysql в кодировке UTF8.

Проблема возникла при задаче маски поиска любого символа. Я написал "Гра.ев" и рассчитывал, что он найдет все слова Грачев. Но поиск не сработал. Только когда я поставил "Гра..ев, поиск нашел Грачева. Но в английском языке ситуация другая: "Ne." ищет "New", а "Ne.." ищет Next. Т.е. судя по всему из-за двухбайтности кодировки в русском языке используются две точки для поиска одного символа.

Можно ли как-то обойти проблему, и искать по одной точке один символ для русского языка?


Пробовал делать
SET NAMES 'cp1251';
SELECT 'строка' RLIKE 'стр.ка';



но выдает нулевой результат.

Неактивен

 

#2 28.04.2017 09:57:42

VasMed
Участник
Зарегистрирован: 28.04.2017
Сообщений: 3

Re: Как искать любой символ русского текста в кодировке UTF8 через Rlike?

мои кодировки:
character_set_client    cp1251
character_set_connection    cp1251
character_set_database    utf8
character_set_filesystem    binary
character_set_results    cp1251
character_set_server    latin1
character_set_system    utf8
character_sets_dir    /usr/local/share/mysql/charsets/

Неактивен

 

#3 02.05.2017 05:24:48

VasMed
Участник
Зарегистрирован: 28.04.2017
Сообщений: 3

Re: Как искать любой символ русского текста в кодировке UTF8 через Rlike?

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson