طرحت سؤالاً في منتديات الفريق العربي للبرمجة عن كيفية تجاهل التشكيل عند البحث باستخدام عبارات Sql وكان ذلك قبل ما يقارب السنتين..
ومن ذلك الوقت وأنا مستمر في البحث عن أفضل طريقة لتجاهل التشكيل عند البحث في النصوص العربية، حتى وصلت إلى أفضل حل ولله الحمد.
هذا العناء كانت Microsoft تستطيع أن توفره على مبرمجي العرب لو قامت بتخديم اللغة العربية بشكل جيد في برامجها كما خدمت غيرها من اللغات..
فمثلاً: اللغات التي تحتوي على أحرف تشكيل غير اللغة العربية قامتMicrosoft بوضع خاصية لهم عند بناء قاعدة بيانات Sql وهي من خصائص الحقل لو وضعتها لقام معالج البحث بتجاهل التشكيل في هذه اللغات بكل تلقائي، هذه الخاصية هي:
Collation = SQL_Latin1_General_CP437_CI_AI
أو غيرها حسب اللغة..
فبهذا الخيار لو بحث المستخدم عن حرف a مثلاً ستظهر له كافة النتائج التي تحتوي على a والتي تحتوي على ä أو å.
أما اللغة العربية فلا يوجد خيار لدعم تجاهل التشكيل لها في قواعد بيانات Sql..
ولهذا اضطر المبرمجون العرب لسلوك طرق مختلفة معوجة حتى يصلوا إلى طريقة لتجاهل التشكيل أثناء البحث في النصوص العربية وكانت هذه الطرق حسب ما رأيت كالتالي: