Левенштейн не может искать русские слова - PullRequest
1 голос
/ 04 ноября 2019

У меня есть скрипт, который ищет в базе данных слова, используя Левенштейна. Все хорошо, когда я ищу английские слова, но когда я ищу слова на русском, консоль MySQL выдает ошибку:

[22007][1366] (conn=31079) Incorrect string value: '\xD0\xA1\xD0\xBA\xD0\xBE...' for column ``.``.`s1` at row 1

Все мои таблицы имеют CHARACTER SET utf8mb4.

Myзапрос:

SELECT * FROM messages
WHERE levenshtein(text_ru, 'testtest') BETWEEN 0 AND 1

Моя таблица "сообщения" столбец "text_ru":

================
=Твое имя?     =
================
=Твоя фамилия? =
================
...

1 Ответ

0 голосов
/ 04 ноября 2019

Я попробовал другой сценарий Левенштейна, и все получилось https://www.lucidar.me/en/web-dev/levenshtein-distance-in-mysql/

...