因此,我遇到了一种情况,MySql Db 中的记录都是西里尔字母和拉丁字母。
无论我使用哪个字母进行查询,我都想返回拉丁文和西里尔文结果。
例如:如果我输入“dog”,我想同时返回“dog”和“дог”。
这可能吗?处理此类数据库记录的最佳实践是什么?
最佳答案
这听起来很像 soundex。 soundex 是转换为语音格式的字符串值。
基本上,您编写一个函数,将任何输入转换为通常可查询的独立于语言的语音格式,并具有特定字符或字符组转换为的特定规则。
在数据库中,将 soundex 列添加到表中,并确保保存在数据库中的任何条目的 soundex 都填充有由该 soundex 函数处理的插入值的结果。
一旦获得,您获得的任何输入也可以通过 soundex 函数进行处理,然后在表的 soundex 列中查找。
关于mysql 西里尔文和拉丁文记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48646567/