所以我有一个巨大的带有变音符号的阿拉伯语书面文本数据库(变音符号是阿拉伯语中附加到其他字符的小字符)
例如 : 带变音符号 : َهَكَََف كُّ َقْðٍ
不带变音符号 : هكװففككقق
我正在使用 mysql 和 laravel 在文本中搜索没有变音符号的特定单词。
如何忽略搜索中的变音符号?
看起来像这样有效:
SELECT * FROM `LAWS` WHERE text = 'وهكذا في كل عقد'
但这并没有:
SELECT * FROM `LAWS` WHERE text LIKE '%وهكذا في كل عقد%'
...
我正在使用 utf8_unicode_ci 并尝试了一些不同的排序规则,但它们似乎都不起作用!
如何使 mysql 中的 LIKE 语句与 = 类似?
使用表“LAWS”的“utf8_general_ci”排序规则类型,并且表字段排序规则更改为“utf8_general_ci”。
这应该与
SELECT * FROM `LAWS` WHERE text LIKE '%وهكذا في كل عقد%'
第二件事是你需要管理阿拉伯语单词之间的空格。您的搜索文本相同,但单词之间的空格不同。
就像在数据库中一样
وهكذا في كل عقد
但是搜索没有或更少的间距,例如
وهكذا في كل عقد
作为最小的字符串,您搜索将返回更好的结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)