在数据库中搜索具有不同书写或拼写的单词

时间:2013-09-06 23:08:36

标签: php mysql utf-8

我要用php语言写一个邮件服务器脚本和mysql database.i必须在我的编程TODO中放入搜索即时电子邮件工具但是有问题

在某些语言中有一些具有相同风格和不同编码的单词

例如كتابيکتابیکبکكبك 这些工作可以通过用户计算机键盘布局相互使用

كتابيكبك采用阿拉伯语布局 但کتابیکبک采用波斯语布局

我试图用str_replace函数找到并将一个语言单词更改为另一个单词,但这不是很有用,因为我不知道世界上所有语言中这些类型的单词

这些类型的单词没有标准吗?!

1 个答案:

答案 0 :(得分:2)

我对阿拉伯语和波斯语一无所知,所以我不理解单词结尾字母يی之间的区别。第一个来自你的阿拉伯语例子,它下方有一个变音符号,第二个没有。

然而,很明显,这些字符是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中没有的字母)添加替换字符(?),例如将کتابی转为?تاب?。这可能有助于您检测需要使用哪些字母。

然而,您需要制定音译方案。这可能是一定数量的工作。