我要使用 php 语言和 mysql 数据库编写一个邮件服务器脚本。我必须将搜索即时电子邮件工具放入我的编程 TODO 中,但有一个问题
某些语言中有些单词具有相同的样式和不同的编码
例如ككك
和ككك
或ككك
和كك
这些工作可以由用户计算机键盘布局互相使用
ككك
和 كك
采用阿拉伯语布局
但੩שש
和੩े੩
采用波斯布局
我尝试使用 str_replace 函数查找一种语言单词并将其更改为另一种语言单词,但这不是很有用,因为我不知道世界上所有语言中的这些类型的单词
这类词没有任何标准吗?!
最佳答案
我对阿拉伯语和波斯语一无所知,所以我不明白词尾字母 ili
和 Ì
之间的区别。第一个来自您的阿拉伯语示例,下面有一个变音符号,而第二个则没有。
但是,很明显,这些字符是 unicode 编码的。您正在处理的不是具体的键盘,而是由键盘编码的 unicode 字符。这些字母的阿拉伯语和波斯语解释彼此不同。
第一个是064A:http://www.fileformat.info/info/unicode/char/064a/index.htm
第二个是06CC:http://www.fileformat.info/info/unicode/char/06cc/index.htm
在您的专栏上执行此操作
SELECT CONVERT(table.word USING cp1256)
FROM table
将为波斯语字母(阿拉伯语代码页 cp1256 中缺少的字母)添加替换字符 (?),例如将 ੩ਨกก
转换为 ?๑กอก?
。这可以帮助您检测需要使用哪些字母。
但是,您将需要制定一个音译方案。这可能需要一定的工作量。
关于php - 在数据库中搜索具有不同书写或拼写的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18667889/