आपको यूनिकोड संयोजन का उपयोग करना चाहिए। आप इसे डिफ़ॉल्ट रूप से अपने सिस्टम पर, या अपनी टेबल के प्रत्येक फ़ील्ड पर सेट कर सकते हैं। निम्नलिखित यूनिकोड संयोजन नाम हैं, और ये उनके अंतर हैं:
utf8_general_ci एक बहुत ही सरल संयोजन है। यह बस- सभी उच्चारणों को हटा देता है- फिर ऊपरी मामले में परिवर्तित हो जाता है और तुलना करने के लिए इस प्रकार के "आधार पत्र" परिणाम पत्र के कोड का उपयोग करता है।
utf8_unicode_ci डिफ़ॉल्ट यूनिकोड संयोजन तत्व तालिका का उपयोग करता है।
मुख्य अंतर हैं:
- utf8_unicode_ci तथाकथित विस्तार और संयुक्ताक्षर का समर्थन करता है, उदाहरण के लिए:जर्मन अक्षर ß (U+00DF LETTER SHARP S) को "ss" अक्षर के पास क्रमबद्ध किया जाता है (U+0152 लैटिन कैपिटल LIGATURE OE) को "OE" के पास सॉर्ट किया जाता है।ली>
utf8_general_ci विस्तार/संयुक्ताक्षर का समर्थन नहीं करता है, यह इन सभी अक्षरों को एकल वर्णों के रूप में, और कभी-कभी गलत क्रम में क्रमबद्ध करता है।
- utf8_unicode_ci आम तौर पर है सभी लिपियों के लिए अधिक सटीक। उदाहरण के लिए, सिरिलिक ब्लॉक पर:utf8_unicode_ci इन सभी भाषाओं के लिए ठीक है:रूसी, बल्गेरियाई, बेलारूसी, मैसेडोनियन, सर्बियाई और यूक्रेनी। जबकि utf8_general_ci केवल सिरिलिक के रूसी और बल्गेरियाई उपसमुच्चय के लिए ठीक है। बेलारूसी, मकदूनियाई, सर्बियाई और यूक्रेनियाई में प्रयुक्त अतिरिक्त अक्षरों को अच्छी तरह से क्रमबद्ध नहीं किया गया है।
+/- utf8_unicode_ci का नुकसान यह है कि यह utf8_general_ci से थोड़ा धीमा है।
इसलिए, यदि आप जानते हैं या नहीं, इस पर निर्भर करते हुए कि आप किन विशिष्ट भाषाओं/वर्णों का उपयोग करने जा रहे हैं, मैं अनुशंसा करता हूं कि आप utf8_unicode_ci का उपयोग करें जिसमें अधिक पर्याप्त कवरेज है।