एक ई-मेल पता पाठ का एक टुकड़ा है। इसलिए, बाइनरी का उपयोग न करें , टेक्स्ट का उपयोग करें।
यूटीएफ़8 एक अच्छा विकल्प प्रतीत होता है। मुझे यकीन नहीं है कि ईमेल पते के लिए कौन से वर्ण समर्थित हैं, लेकिन कोई उम्मीद कर सकता है कि भविष्य में और अधिक यूनिकोड वर्णों की अनुमति होगी। विशेष रूप से यदि आप अपने डेटाबेस में कहीं और utf8 का उपयोग करते हैं, तो आपको एक एन्कोडिंग से दूसरे में स्विच करने की आवश्यकता नहीं है, बस हर चीज के लिए utf8 का उपयोग करें।
जहां तक utf8_bin . के बीच चयन करने की बात है , utf8_unicode_ci और utf8_general_ci , अंतर केवल संयोजन है। इसका मतलब है कि स्ट्रिंग्स की तुलना करते समय इससे फर्क पड़ता है।
अब यहां आपको यह चुनना है कि क्या अनुमति है और क्या सामान्य है। आम तौर पर, ईमेल पते केस-असंवेदनशील होते हैं, लेकिन वे केस-संवेदी हो सकते हैं।
इसलिए यदि आप अपने ई-मेल कॉलम पर एक अद्वितीय अनुक्रमणिका का उपयोग करते हैं, और केवल उनके कैपिटलाइज़ेशन में भिन्न ईमेल पतों की अनुमति देना चाहते हैं, तो आपको utf8_bin का उपयोग करना चाहिए , चूंकि _ci से समाप्त होने वाले कोलाज का अर्थ "केस-असंवेदनशील" होता है।
यदि आप एक अद्वितीय अनुक्रमणिका का उपयोग करते हैं और केवल उनके बड़े अक्षरों में भिन्न ईमेल से बचना चाहते हैं, तो utf8_unicode_ci का उपयोग करें ।
कहा जा रहा है, मैं utf8_unicode_ci . का उपयोग करता हूं . मैं चाहता हूं कि डीबी [email protected] को पहचानने में सक्षम हो। और [email protected] उसी पते के रूप में। यह समान वर्णों और भिन्न कैपिटलाइज़ेशन वाले पतों की संभावना की अनुमति देने से कहीं अधिक उपयोगी है।