Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL तालिका को गलत तरीके से एन्कोड किए गए डेटा के साथ UTF-8 में कनवर्ट करना

नीचे दी गई यह विधि वास्तव में आशाजनक और बेहतर है, इसकी सादगी में सुंदर है। विचार यह है कि आप अपने पूरे डेटाबेस को लैटिन 1 के रूप में mysqldump करते हैं, और फिर इसे utf-8 के रूप में पुन:एन्कोडेड आयात करते हैं।

निर्यात करें:

आयात करें:

मैं इस समाधान का कोई श्रेय नहीं लेता, यह पूरी तरह से गैरेथ प्राइस का ब्लॉग . इसने उन सभी के लिए काम किया है जिन्होंने उसे अब तक एक टिप्पणी छोड़ दी है:"वाह यार तुमने अभी-अभी मेरी जान बचाई। मैंने इस पर 2 घंटे नहीं, बल्कि 2 दिन बिताए" मेरा ध्यान खींचा।

अपडेट #1: ऐसा लगता है कि गैरेथ wasn पहले नहीं इसे खोजने के लिए।

अपडेट #2: मैंने अभी यह कोशिश की और इसने मेरे UTF8-stored-as-latin1 डेटाबेस के लिए खूबसूरती से काम किया। बस सुनिश्चित करें कि आपने अपने डेटाबेस पर डिफ़ॉल्ट वर्णसेट को utf8 पहले . पर स्विच किया है आयात कर रहे हैं, अन्यथा आप सादे प्रश्न चिह्नों के साथ समाप्त हो जाएंगे जहां विशेष वर्ण थे। बेशक इसके कई अन्य प्रभाव भी हो सकते हैं इसलिए पहले नरक की तरह परीक्षण करें।

और यदि आपके पास ऐसी कोई तालिका है जो स्कीमा डिफ़ॉल्ट पर सेट नहीं है:

(वही विचार यदि आपके पास कोई स्तंभ-विशिष्ट वर्णसेट सेटिंग है, तो आपको एक ALTER TABLE [table] करना होगा। कॉलम बदलें [सेटिंग] CHARACTER SET को निर्दिष्ट किए बिना, इसलिए यह तालिका डिफ़ॉल्ट पर वापस चला जाता है)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डीबीएमएस द्वारा स्कीमा परिभाषाएं

  2. टाइमस्टैम्प () उदाहरण – MySQL

  3. डेटाबेस:जियो लोकेशन डेटा को क्वेरी करने का सबसे अच्छा प्रदर्शन तरीका?

  4. mysqld_safe निर्देशिका '/var/run/mysqld' UNIX सॉकेट फ़ाइल के लिए मौजूद नहीं है

  5. मूल्यों के 24 घंटे