नीचे दी गई यह विधि वास्तव में आशाजनक और बेहतर है, इसकी सादगी में सुंदर है। विचार यह है कि आप अपने पूरे डेटाबेस को लैटिन 1 के रूप में mysqldump करते हैं, और फिर इसे utf-8 के रूप में पुन:एन्कोडेड आयात करते हैं।
निर्यात करें:
आयात करें:
मैं इस समाधान का कोई श्रेय नहीं लेता, यह पूरी तरह से गैरेथ प्राइस का ब्लॉग . इसने उन सभी के लिए काम किया है जिन्होंने उसे अब तक एक टिप्पणी छोड़ दी है:"वाह यार तुमने अभी-अभी मेरी जान बचाई। मैंने इस पर 2 घंटे नहीं, बल्कि 2 दिन बिताए" मेरा ध्यान खींचा।
अपडेट #1: ऐसा लगता है कि गैरेथ wasn पहले नहीं इसे खोजने के लिए।
अपडेट #2: मैंने अभी यह कोशिश की और इसने मेरे UTF8-stored-as-latin1 डेटाबेस के लिए खूबसूरती से काम किया। बस सुनिश्चित करें कि आपने अपने डेटाबेस पर डिफ़ॉल्ट वर्णसेट को utf8 पहले . पर स्विच किया है आयात कर रहे हैं, अन्यथा आप सादे प्रश्न चिह्नों के साथ समाप्त हो जाएंगे जहां विशेष वर्ण थे। बेशक इसके कई अन्य प्रभाव भी हो सकते हैं इसलिए पहले नरक की तरह परीक्षण करें।
और यदि आपके पास ऐसी कोई तालिका है जो स्कीमा डिफ़ॉल्ट पर सेट नहीं है:
(वही विचार यदि आपके पास कोई स्तंभ-विशिष्ट वर्णसेट सेटिंग है, तो आपको एक ALTER TABLE [table] करना होगा। कॉलम बदलें [सेटिंग] CHARACTER SET को निर्दिष्ट किए बिना, इसलिए यह तालिका डिफ़ॉल्ट पर वापस चला जाता है)