MySQL का डिफॉल्ट कोलैबेशन क्यों है?


112

latin1_swedish_ciसंकलित डिफ़ॉल्ट के रूप में स्थापित करने के पीछे क्या तर्क है जब अन्य विकल्प बहुत अधिक उचित लगते हैं, जैसे latin1_general_ciया utf8_general_ci?


6
स्वीडिश ने सिर्फ उस सम्मान को खरीदा [मजाक]
झटके


1
कृपया ध्यान दें कि utf8_general_ci4-बाइट UTF-8 का समर्थन नहीं करता है, इसलिए सच्चे UTF-8 समर्थन के लिए जो आप चाहते हैं utf8mb4_general_ciया अन्य mb4वेरिएंट में से एक होगा ।
कॉलिनम

जवाबों:


109

यह लिखने वाले ब्लोके एक स्वीडिश कंपनी के सह-प्रमुख थे ।

संभवतः इसी तरह के कारणों के लिए, Microsoft SQL सर्वर की डिफ़ॉल्ट भाषा us_english।


5
वह फ़िनिश है, लेकिन फ़िनिश और स्वीडिश एक ही विशेष पात्रों को साझा करते हैं, इसलिए वे उसी मामले को असंवेदनशील
टकराव के रूप में

5
बात हो रही है 'अच्छे डिफॉल्ट्स' की। यह, ज़ाहिर है, नहीं है। यह देखकर बहुत अच्छा लगा कि 20 साल बाद क्या? उन्होंने इसे एक डिफ़ॉल्ट डिफ़ॉल्ट में बदल दिया, जैसे utf8_general_ci। अच्छी नौकरी, MySQL!
माइकल ट्रू

2
और मुझे लगा कि यह मेरे लिए सबसे अच्छा हो सकता है, लेकिन मैं कोई विशेषज्ञ नहीं हूं। मेरा जीवन एक झूठ है
पाब्लो एस्कोबार

3
हां आप सही कह रहे हैं, उन्होंने नाम दिया मैरीबडी (पत्नी का नाम मारिया) और मैक्सबीडी (उनके बेटे का नाम मैक्स है)। लेकिन उन्होंने अपनी बेटी का नाम क्यों छोड़ दिया ..! :) जबरदस्त हंसी। !
अजमल प्रवीण

89

latin1_swedish_ciइसके विपरीत एक एकल बाइट वर्ण सेट है utf8_general_ci

इसकी तुलना latin1_general_ciमें यूरोपीय भाषाओं में उपयोग किए जाने वाले विभिन्न प्रकार के अतिरिक्त पात्रों के लिए समर्थन है। इसलिए यह सबसे अच्छा विकल्प है यदि आप नहीं जानते कि आप किस भाषा का उपयोग कर रहे हैं, यदि आप केवल एकल बाइट वर्ण सेट का उपयोग करने के लिए विवश हैं।


36
मुझे यह जवाब पसंद है क्योंकि यह निष्पक्ष रूप से लैटिन सनी की पसंद को सही ठहराने की कोशिश करता है। हालांकि, स्वीकृत उत्तर एक सामाजिक दृष्टिकोण से अधिक प्रशंसनीय स्पष्टीकरण लगता है, जिसके लिए सिन को विशेष रूप से क्यों चुना गया था।
एलन

2
यह निश्चित रूप से संभव है कि यह लेखक का तर्क था, और सिर्फ एक संयोग है कि वह स्वीडिश है। यह उचित प्रतीत होता है कि एक स्वेड अतिरिक्त यूरोपीय पात्रों का समर्थन करना चाहता है (और जानता है)।
मैट

3
-1 स्वीकृत उत्तर केवल एक राय हो सकती है लेकिन यह इस उत्तर की तुलना में 100 गुना अधिक उचित है। इसके अलावा, आप देख सकते हैं कि "द ब्लेक जिसने इसे लिखा था" ने भी अपने बेटे के बाद अपने डगथर और मैक्सबीडी के नाम पर मारबीडीबी का नाम दिया।
kommradHomer

2
"latin1_general_ci को यूरोपीय भाषाओं में उपयोग किए जाने वाले विभिन्न प्रकार के वर्णों का समर्थन प्राप्त है" - बस यह स्पष्ट करने के लिए, utf8_general_ci, utf8_unicode के विपरीत, यूरोपीय भाषाओं के वर्णों के लिए एक विस्तृत समर्थन है। मुझे "latin1_swiki_ci" पर एक फायदा नहीं दिख रहा है। या मैं गलत हूँ?
मेम

उदाहरण के लिए, CHAR (2) latin1 2 बाइट्स का उपयोग करता है, CHAR (2) utf8mb4 (जो पूर्ण utf8 है) 8 बाइट्स का उपयोग करता है। मैं 2 अंकों के देश कोड को संग्रहीत करने के लिए latin1 का उपयोग करता हूं क्योंकि गैर-यूरोपीय वर्ण कभी नहीं होंगे
the_nuts
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.