الفرق بين ترميز utf8_unicode_ci و utf8_general_ci في قواعد البيانات


السلام عليكم

لعل الكثير يرغب في انشاء موقع بالترميز العالمي UTF-8 ، لكن يحير في امر الاختيار بين utf8_unicode_ci و utf8_general_ci و اليكم الفرق بينهما

أولا كلا الترميزان متوافقان كليا مع ترميز الصفحات UTF-8 . و الفرق يوجد فيما يلي

utf8_general_ci : هو ترميز بسيط ، يقوم بتجريد كل الحروف من الزوائد من العلامات و تحويلها لحروف صغيرة ، مثلا الحروف التالية ÀÁÅåāă كلها تتحول في هذا الترميز إلى a ،و بالتالي في اي عملية بحث عن كلمات تحتوى على ذاك الحرف يتم تحويله غلى حرف عادي ، مثلا عبارة Français تساوي عبارة Francais . و من هنا نجد ان هذا الترميز يمتاز بالسرعة في الاداء .


utf8_unicode_ci : ترميز يستخدم جدول الترميزات الكاملة (DUCET). بحيث ان عمليات البحث تاخذ كل الدقة الممكنة و يصبح هناك فرق بين الحروف التي تحمل اضافات و غيرها . و طبيعي ان يكون حجم الحرف أكبر من حيث المساحة المستخدمة و لهذا نجد دائما قواعد بينات كبيرة في هذا الترميز و ثقل من حيث الأداء .

ان كنت تبحث عن السرعة فعليك ب utf8_general_ci و ان كنت تبحث عن الدقة بدون الاهتمام بامر السرعة فعليك ب utf8_unicode_ci .

تحياتي لكم و إلى موضوع و شرح جديد باذن الله .