मैं MySQL के लिए नया हूं और मैं जानना चाहूंगा:
मैं एक डेटाबेस कैसे बना सकता हूं utf-8
जैसे मैं नाविक में किया था?
create mydatabase;
... लगता है कि डिफ़ॉल्ट वर्णसेट का किसी प्रकार का उपयोग किया जा रहा है।
मैं MySQL के लिए नया हूं और मैं जानना चाहूंगा:
मैं एक डेटाबेस कैसे बना सकता हूं utf-8
जैसे मैं नाविक में किया था?
create mydatabase;
... लगता है कि डिफ़ॉल्ट वर्णसेट का किसी प्रकार का उपयोग किया जा रहा है।
जवाबों:
नोट: निम्नलिखित अब एक बेहतर अभ्यास माना जाता है (देखें bikeman868 का जवाब ):
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
मूल उत्तर:
इसे इस्तेमाल करे:
CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;
अधिक जानकारी के लिए, MySQL संदर्भ मैनुअल में डेटाबेस कैरेक्टर सेट और Collation देखें ।
COLLATE utf8mb4_unicode_520_ci
या utf8mb4_0900_ai_ci
या यहाँ तक कि लोकेल विशिष्ट, उदाहरण के लिए: utf8mb4_vi_0900_ai_ci
। मारियाबीडी 10.2.2+ के लिए, आपके पास "नोपैड" टकराव है utf8mb4_unicode_520_nopad_ci
। dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html
utf8mb4_0900_ai_ci
। से बेहतर हैutf8mb4_unicode_ci
आपको उपयोग करना चाहिए:
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ध्यान दें कि utf8_general_ci
अब अनुशंसित सर्वोत्तम अभ्यास नहीं है। संबंधित प्रश्नोत्तर देखें:
स्टैक ओवरफ्लो पर utf8_general_ci और utf8_unicode_ci के बीच क्या अंतर है ।
utf8mb4_0900_ai_ci
। से बेहतर हैutf8mb4_unicode_ci
utf8mb4
है जो हममें से बाकी लोग कहते हैंutf8
। तो MySQL काutf8
आप क्या पूछना है? यह utf-8 का एक सीमित संस्करण है जो केवल वर्णों के सबसेट के लिए काम करता है लेकिन इमोजी जैसे सामान के लिए विफल रहता है। बाद में उन्होंने जोड़ाutf8mb4
कि यह सही कार्यान्वयन है, लेकिन MySQL को पुरानी गलतियों के लिए पीछे की ओर रहना पड़ता है, यही कारण है कि पुराने को ठीक करने के बजाय एक नया एन्कोडिंग जोड़ा गया है। सभी नए डेटाबेस का उपयोग करना चाहिएutf8mb4
।