-Поиск по дневнику

Поиск сообщений в lj_ru_mysql

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 30.01.2006
Записей:
Комментариев:
Написано: 0


ошибка regexp на мультибайтовых кодировках

Пятница, 05 Марта 2021 г. 13:41 + в цитатник
сервер 5.7.33-0 ubuntu 0.16.04.1

SHOW FULL FIELDS FROM `test`
Field 	Type 	Collation 	Null 	Key 	Default 	Extra 	Privileges 	Comment 
str	varchar(100)	utf8_general_ci	NO	 	NULL	 	select,insert,update,references

INSERT INTO test VALUES ('А РОЗА УПАЛА НА ЛАПУ АЗОРА')

select * from test where str like '%роза%' - строка найдена
select * from test where str regexp 'роза' - строка не найдена

Проверил на нескольких кодировках, все case-insensitive, конечно.
На однобайтовых поиск правильный, ну многобайтовых LIKE работает, а REGEXP - нет.

То же самое на сервере MariaDB 10.1.28 под windows работает во всех вариантах правильно.

Проблема, как я понял, старая и общеизвестная.
Кто-либо нашел решение?
Хотя бы известно кто виноват-то, замена мускуля на марию под убунтой проблему решит или нет?

https://ru-mysql.livejournal.com/296383.html

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку