2016-05-18 9 views
13

मैं MariaDB/MySQL में लॉग इन किया और दर्ज किया गया:मारिया डीबी/माईएसक्यूएल में utf8mb4_unicode_ci और utf8mb4_unicode_520_ci collations के बीच अंतर?

SHOW COLLATION; 

मैं utf8mb4_unicode_ci और उपलब्ध collations के बीच utf8mb4_unicode_520_ci देखते हैं। ये collations एक-दूसरे से अलग कैसे होते हैं और हमें किस का उपयोग करना चाहिए?

+1

मुझे SO [यहां] (https://dba.stackexchange.com/questions/65863/mysql-collation-utf8-unicode-differences) और [यहां] (https://stackoverflow.com/questions) पर उत्तर मिलते हैं/18904883/क्या-बीच-अंतर-बीच-utf8-unicode-ci-and-utf8-unicode-520-ci) और मुझे स्पष्टीकरण समझने में आसान मिला [यहां] (https://www.monolune.com/mysql-UTF8-वर्णसेट और collations-समझाया /)। – Flux

उत्तर

16

ठीक है आपको दस्तावेज़ में पढ़ने की आवश्यकता होगी। मैं आपको नहीं बता सकता कि आपको क्या उपयोग करना चाहिए क्योंकि प्रत्येक परियोजना अलग है।

10.1.3 मिलान नामकरण सम्मेलनों

MySQL मिलान नाम इन सम्मेलनों का पालन करें:

एक मिलान नाम अन्य संकेत चरित्र सेट जिसके साथ यह जुड़ा हुआ है के नाम पर, एक या अधिक प्रत्यय द्वारा पीछा के साथ शुरू होता संयोजन विशेषताओं। उदाहरण के लिए, utf8_general_ci और latin_swedish_ci क्रमशः utf8 और latin1 वर्ण सेट के लिए collations हैं।

भाषा-विशिष्ट संयोजन में भाषा का नाम शामिल है। उदाहरण के लिए, utf8_turkish_ci और utf8_hglish_ci क्रमशः तुर्की और हंगरी के नियमों का उपयोग करते हुए utf8 वर्ण सेट के लिए वर्णों को क्रमबद्ध करें।

सॉर्टिंग के लिए केस संवेदनशीलता _ci (केस असंवेदनशील), _cs (केस संवेदनशील), या _bin (बाइनरी; चरित्र तुलना चरित्र बाइनरी कोड मानों पर आधारित होती है) द्वारा इंगित की जाती है। उदाहरण के लिए, latin1_general_ci केस ​​असंवेदनशील है, latin1_general_cs केस संवेदनशील है, और latin1_bin बाइनरी कोड मानों का उपयोग करता है।

यूनिकोड के लिए, संयोजन नामों में यूनिकोड कोलेशन एल्गोरिदम (यूसीए) के संस्करण को इंगित करने के लिए संस्करण संख्या शामिल हो सकती है जिस पर संयोजन आधारित है। नाम में संस्करण संख्या के बिना यूसीए-आधारित कॉलेशन संस्करण-4.0.0 यूसीए वजन कुंजी का उपयोग करते हैं। उदाहरण के लिए:

utf8_unicode_ci (नामित संस्करण के साथ) यूसीए 4.0.0 वजन कुंजी> (http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt) पर आधारित है।

utf8_unicode_520_ci यूसीए 5.2.0 वजन कुंजी (http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt) पर आधारित है।

यूनिकोड के लिए, xxx_general_mysql500_ci collations मूल xxx_general_ci collations के पूर्व-5.1.24 ऑर्डरिंग को संरक्षित करता है और MySQL 5.1.24 से पहले बनाए गए तालिकाओं के लिए अपग्रेड की अनुमति देता है। अधिक जानकारी के लिए, खंड 2.11.3 देखें, "जांचें कि टेबल्स या इंडेक्स को पुनर्निर्मित किया जाना चाहिए", और खंड 2.11.4, "टेबल्स या इंडेक्स को पुनर्निर्माण या मरम्मत"।

स्रोत: https://dev.mysql.com/doc/refman/5.6/en/charset-collation-names.html

2

वास्तविक मतभेद का एक सा अधिक चर्चा देखने के लिए, आप https://dev.mysql.com/worklog/task/?id=2673 पर जाएं और "उच्च स्तरीय वास्तुकला" क्लिक कर सकते हैं।

संबंधित मुद्दे