MySQL के कैरेक्टर सेट और कॉलेशन को प्राथमिकता वाली वस्तुओं की टॉप-डाउन सूची के रूप में व्याख्यायित किया जा सकता है। सबसे ऊपर वाली सबसे कम प्राथमिकता है और सबसे नीचे वाली सबसे ज़्यादा प्राथमिकता है।
वरीयता क्रम सबसे कम प्राथमिकता है:
- सर्वर संयोजन
- कनेक्शन-विशिष्ट संयोजन
- डेटाबेस संयोजन
- तालिका संयोजन
- स्तंभ मिलान
- क्वेरी मिलान (
CAST
का उपयोग करके) याCONVERT
)
सर्वर संयोजन सर्वर द्वारा सेट किया जाता है, जो या तो my.cnf
. के अंदर सेट होता है या जब सर्वर को सोर्स कोड से बनाया गया था। डिफ़ॉल्ट रूप से, यह आमतौर पर latin1
होगा या utf8
, आपके प्लेटफॉर्म पर निर्भर करता है।
कनेक्शन-विशिष्ट संयोजन क्लाइंट द्वारा SET NAMES 'utf8' COLLATE 'utf8_unicode_ci';
जैसी क्वेरी का उपयोग करके सेट किया जाता है . अधिकांश क्लाइंट कनेक्शन-विशिष्ट संयोजन सेट नहीं करते हैं, इसलिए सर्वर अपने स्वयं के डिफ़ॉल्ट का उपयोग करेगा जैसा कि ऊपर बताया गया है।
डेटाबेस संयोजन डेटाबेस निर्माण के दौरान या बाद में इसे मैन्युअल रूप से अपडेट करके सेट किया जाता है। यदि आप एक निर्दिष्ट नहीं करते हैं, तो यह अगले उच्च-स्तरीय संयोजन का उपयोग करेगा, जो या तो कनेक्शन-विशिष्ट या सर्वर संयोजन होगा।
तालिका संयोजन डेटाबेस संयोजन के समान है, यदि खाली छोड़ दिया गया है, तो यह डेटाबेस को अपने डिफ़ॉल्ट, फिर कनेक्शन-विशिष्ट, और फिर अंत में सर्वर के संयोजन के रूप में उपयोग करेगा।
स्तंभ संयोजन तालिका के संयोजन को अपने डिफ़ॉल्ट के रूप में उपयोग करता है, और यदि कोई संयोजन सेट नहीं है, तो यह उपयोग करने के लिए एक संयोजन को खोजने के लिए श्रृंखला का अनुसरण करेगा, यदि अन्य सभी सेट नहीं किए गए थे तो सर्वर पर रुक जाएगा।
क्वेरी संयोजन CAST
. का उपयोग करके क्वेरी में निर्दिष्ट किया गया है या CONVERT
, लेकिन अन्यथा श्रृंखला में अगले उपलब्ध संयोजन का उपयोग करेगा। जब तक आप किसी फ़ंक्शन का उपयोग नहीं करते, तब तक इसे सेट करने का कोई तरीका नहीं है।
कृपया मैनुअल पेज कैरेक्टर सेट सपोर्ट को भी देखें। ।