首页 > 解决方案 > Levenshtein 无法查找俄语单词

问题描述

我有一个脚本,它使用 Levenshtein 在数据库中搜索单词。当我搜索英文单词时一切都很好,但是当我搜索俄语单词时,MySQL 控制台给出了一个错误:

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

我所有的表都有 CHARACTER SET utf8mb4。

我的查询:

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

我的表“消息”列“text_ru”:

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

标签: mysqllevenshtein-distance

解决方案


我尝试了另一个 Levenshtein 脚本,一切都解决了 https://www.lucidar.me/en/web-dev/levenshtein-distance-in-mysql/


推荐阅读