2010-10-14 19 views
40

क्या किसी को पता है क्यों latin1_swedish MySQL के लिए डिफ़ॉल्ट है। ऐसा लगता है कि यूटीएफ -8 अधिक संगत होगा?MySQL डिफ़ॉल्ट रूप से latin1_swedish_ci का उपयोग क्यों करता है?

डिफ़ॉल्ट आमतौर पर चुना जाता है क्योंकि वे सबसे अच्छे सार्वभौमिक विकल्प हैं, लेकिन इस मामले में ऐसा नहीं लगता है कि उन्होंने क्या किया।

+4

अच्छा सवाल! mySQL एक स्वीडिश कंपनी है (या इस्तेमाल किया जाता है), तो शायद स्वीडिश भाग का कारण है ... क्यों लैटिन 1, मुझे नहीं पता। –

+0

@ पेक्का +1 आह ..... यह दिलचस्प है। मैं नहीं जानता था कि। – Metropolis

+0

का संभावित डुप्लिकेट [MySQL का डिफ़ॉल्ट संयोजन क्यों है latin1 \ _swedish \ _ci?] (Http://stackoverflow.com/questions/6769901/why-is-mysqls-default-collation-latin1-swedish-ci) –

उत्तर

27

जहां तक ​​मैं देख सकता हूं, लैटिन 1 प्री-मल्टीबाइट समय में डिफ़ॉल्ट वर्ण सेट था और ऐसा लगता है कि यह जारी रहा है, शायद नीचे की संगतता के कारणों के लिए (उदाहरण के लिए पुराने क्रिएट स्टेटमेंट्स के लिए जो एक संयोजन निर्दिष्ट नहीं करते हैं) ।

here से:

क्या 4.0 क्या

MySQL 4.0 (और पिछले संस्करणों) केवल समर्थित क्या सेट चरित्र की एक संयुक्त धारणा और एकल-बाइट वर्ण एन्कोडिंग के साथ मिलान करने के लिए राशि, जो सर्वर स्तर पर निर्दिष्ट किया गया था। डिफ़ॉल्ट latin1 था, जो लैटिन 1 के एक चरित्र सेट से मेल खाता है और MySQL 4.1 में latin1_swedish_ci का संयोजन है।

क्यों स्वीडिश, मैं केवल अनुमान लगा सकते हैं क्योंकि MySQL एबी है कि यह है के रूप में/स्वीडिश था। मुझे इस संयोजन को चुनने के लिए कोई अन्य कारण नहीं दिख रहा है, यह कुछ विशिष्ट सॉर्टिंग क्विर्क के साथ आता है (ÄÖÜ जेड मुझे लगता है) के बाद आता है लेकिन वे कहीं भी अंतरराष्ट्रीय मानक के पास नहीं हैं।

+2

मुझे लगता है कि वे इस अजीब कॉलोकेशन को चुनते हैं ताकि उपयोगकर्ता को यह स्पष्ट हो सके कि यह बदल दिया गया है। जो कि ज्यादातर बार अपेक्षित रूप से बाहर नहीं निकला था लेकिन डिफ़ॉल्ट के अत्याचार से रोका गया था :) –

+2

@TheSurrican, क्या एक अजीब जवाब है। यह एक अजीब collation क्या बनाता है? यह स्वीडिश कंपनी द्वारा चुने गए मानक लैटिन 1 का स्वीडिश संस्करण है। यह ओरेकल की तरह ही उनके उत्पादों के लिए यूएस अंग्रेज़ी चुन रहा है। – chrismacp

+0

लैटिन 1_swedish_ci आईएसओ 885 9 -1 और आईएसओ 885 9 -1 के रूप में सॉर्ट किए जाने पर उपलब्ध विकल्पों में से पहला है, इसलिए यदि आप कोई विकल्प निर्दिष्ट नहीं करते हैं, तो