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

标签 php mysql utf-8

我要使用 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/

相关文章:

mysql - 我无法在 MySQL 中创建表(错误 1005)

python - Django 存储非 unicode 数据

php - 如何访问 Moodle 中 Mustache 模板中对象数组的值?

php - Mysql BETWEEN 子句被忽略。没有语法错误

mysql - 如何在带有 EF4 的 Visual Studio 2010 中使用 MySQL?

java - 如何将二进制字符串转换为使用 UTF-8 编码的 Java 字符串

php - 更新到 MAMP PRO 4.0.6 后,UTF-8 无法正确显示

php - 如何使用 PHPExcel_Reader_HTML 设置 Excel 单元格格式

javascript - 无法使用我的phonegap应用程序连接到mysql服务器

mysql - 从 .sql 文件恢复 MySql 表;为什么相应的 .idb 文件这么大?