यह आलेख वर्णन करता है कि कैसे एक MySQL डेटाबेस के वर्ण सेट को UTF-8 एन्कोडिंग (जिसे यूनिकोड के रूप में भी जाना जाता है) में परिवर्तित किया जाए। UTF-8 वर्ण एन्कोडिंग सेट विभिन्न प्रकार की भाषाओं के लिए कई अक्षर और वर्णों का समर्थन करता है।
हालाँकि MySQL UTF-8 कैरेक्टर एन्कोडिंग सेट का समर्थन करता है, लेकिन इसे अक्सर डेटाबेस और टेबल निर्माण के दौरान डिफ़ॉल्ट कैरेक्टर सेट के रूप में उपयोग नहीं किया जाता है। परिणामस्वरूप, कई डेटाबेस लैटिन वर्ण सेट का उपयोग करते हैं, जो कि एप्लिकेशन के आधार पर सीमित हो सकता है।
वर्तमान वर्ण एन्कोडिंग सेट का निर्धारण
यह निर्धारित करने के लिए कि कौन सा वर्ण एन्कोडिंग सेट एक MySQL डेटाबेस या तालिका वर्तमान में उपयोग कर रहा है:
- अपने A2 होस्टिंग SSH खाते में लॉग इन करें।
- कमांड लाइन पर, निम्न कमांड टाइप करें, उपयोगकर्ता नाम को अपने उपयोगकर्ता नाम से बदलें:
mysql -u उपयोगकर्ता नाम -p
- पासवर्ड दर्ज करें प्रांप्ट पर, अपना पासवर्ड टाइप करें। जब आप सही पासवर्ड टाइप करते हैं, तो mysql> प्रॉम्प्ट प्रकट होता है।
-
किसी विशेष डेटाबेस के लिए वर्तमान वर्ण एन्कोडिंग सेट को प्रदर्शित करने के लिए, mysql> प्रांप्ट पर निम्न कमांड टाइप करें। डेटाबेस नाम के साथ dbname बदलें:
जानकारी_स्कीमा से default_character_set_name का चयन करें।SCHEMATA S जहां schema_name ="dbname";
-
किसी डेटाबेस में किसी विशेष तालिका के लिए वर्तमान वर्ण एन्कोडिंग सेट को प्रदर्शित करने के लिए, mysql> प्रॉम्प्ट पर निम्न कमांड टाइप करें। डेटाबेस नाम के साथ dbname बदलें, और तालिका के नाम के साथ tablename:
जानकारी_स्कीमा से CCSA.character_set_name चुनें।`TABLES` T,information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA जहां CCSA.collation_name =T.table_collation और T.table_schema ="dbname" और T.table_name ="table_name";
- mysql से बाहर निकलने के लिए प्रोग्राम, mysql> प्रॉम्प्ट पर \q टाइप करें।
वर्ण एन्कोडिंग सेट को UTF-8 में बदलना
सुनिश्चित करें कि आप इस प्रक्रिया को शुरू करने से पहले डेटाबेस का बैकअप लें! आप cPanel, phpMyAdmin, या mysqldump का उपयोग करके MySQL डेटाबेस का बैकअप ले सकते हैं कार्यक्रम।वर्ण एन्कोडिंग सेट को UTF-8 में बदलने के लिए:
- अपने A2 होस्टिंग SSH खाते में लॉग इन करें।
- .my.cnf . नाम की टेक्स्ट फ़ाइल बनाएं . ऐसा करने के लिए, आप विम या नैनो जैसे टेक्स्ट एडिटर का उपयोग कर सकते हैं। यह प्रक्रिया दिखाती है कि नैनो का उपयोग कैसे किया जाता है। कमांड लाइन पर, निम्न कमांड टाइप करें:
नैनो .my.cnf
-
फ़ाइल में निम्नलिखित पंक्तियाँ जोड़ें, उपयोगकर्ता नाम को अपने उपयोगकर्ता नाम और पासवर्ड के साथ अपने पासवर्ड से बदलें (सुनिश्चित करें कि पासवर्ड उद्धरण चिह्नों में संलग्न है):
[client]user=usernamepassword="password"
- संपादन पूर्ण होने पर, Ctrl+X दबाएं, फ़ाइल को सहेजने के लिए y टाइप करें, और फिर एंटर दबाएं।
-
निर्दिष्ट डेटाबेस में सभी तालिकाओं के लिए वर्ण सेट एन्कोडिंग को UTF-8 में बदलने के लिए, कमांड लाइन पर निम्न कमांड टाइप करें। डेटाबेस नाम के साथ dbname बदलें:
mysql --database=dbname -B -N -e "शो टेबल्स" | awk '{प्रिंट "सेट फॉरेन_की_चेक्स =0; अल्टर टेबल", $1, "कन्वर्ट टू कैरेक्टर सेट utf8 COLLATE utf8_general_ci; सेट फॉरेन_की_चेक्स =1;"}' | mysql --database=dbname
-
कमांड खत्म होने के बाद, mysql . शुरू करने के लिए निम्न कमांड टाइप करें कार्यक्रम:
mysql
-
डेटाबेस के लिए कैरेक्टर सेट एन्कोडिंग को UTF-8 में बदलने के लिए, mysql> प्रॉम्प्ट पर निम्न कमांड टाइप करें। डेटाबेस नाम के साथ dbname बदलें:
डेटाबेस डीबीनाम बदलें वर्ण सेट utf8 COLLATE utf8_general_ci;
- mysql से बाहर निकलने के लिए प्रोग्राम, mysql> प्रॉम्प्ट पर \q टाइप करें।
-
.my.cnf . को मिटाने के लिए फ़ाइल, कमांड लाइन पर निम्न कमांड टाइप करें:
आरएम .my.cnf
- यह सत्यापित करने के लिए कि वर्ण सेट एन्कोडिंग अब UTF-8 पर सेट है, ऊपर दिए गए वर्तमान वर्ण एन्कोडिंग सेट प्रक्रिया का निर्धारण करने के चरणों का पालन करें।
अधिक जानकारी
UTF-8 और यूनिकोड के बारे में अधिक जानकारी के लिए, कृपया http://en.wikipedia.org/wiki/UTF-8 पर जाएं।