ошибка 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
Метки:
кодировка
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-