Вот код javascript, который может почти все время обрабатывать удаление диакритических знаков.
var arabicNormChar = {
'ك': 'ک', 'ﻷ': 'لا', 'ؤ': 'و', 'ى': 'ی', 'ي': 'ی', 'ئ': 'ی', 'أ': 'ا', 'إ': 'ا', 'آ': 'ا', 'ٱ': 'ا', 'ٳ': 'ا', 'ة': 'ه', 'ء': '', 'ِ': '', 'ْ': '', 'ُ': '', 'َ': '', 'ّ': '', 'ٍ': '', 'ً': '', 'ٌ': '', 'ٓ': '', 'ٰ': '', 'ٔ': '', '�': ''
}
var simplifyArabic = function (str) {
return str.replace(/[^\u0000-\u007E]/g, function(a){
var retval = arabicNormChar[a]
if (retval == undefined) {retval = a}
return retval;
}).normalize('NFKD').toLowerCase();
}
//now you can use simplifyArabic(str) on Arabic strings to remove the diacritics
Примечание: вы можете переопределить arabicNormChar в соответствии со своими предпочтениями.