2

我打算用 php 语言和 mysql 数据库编写一个邮件服务器脚本。我必须在我的编程 TODO 中放入搜索即时电子邮件工具,但是有一个问题

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

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

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

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

这类词没有标准?!

4

1 回答 1

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 中缺少的字母)添加替换字符 (?),例如کتابی变成?تاب?. 这可能会帮助您检测需要使用哪些字母。

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

于 2013-09-07T00:00:52.830 回答