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

एक MySQL डेटाबेस में UTF-8 स्ट्रिंग कॉन्फ़िगरेशन परिवर्तन के बाद गड़बड़ हो गई

C3 83 C6 92 C3 82 C2 AA
C3 3F C2 AA

यदि आप बाइट्स के अनुक्रम को UTF-8 के रूप में मानते हैं, तो आपको यही मिलता है, फिर इसे ISO-8859-1 के रूप में एन्कोड करें। 3F ? , जिसे प्रतिस्थापन वर्ण के रूप में शामिल किया गया है, क्योंकि UTF-8 C6 92 U+0192 ƒ . है जो ISO-8859-1 में मौजूद नहीं है। लेकिन यह विंडोज़ कोड पेज 1252 पश्चिमी यूरोपीय में मौजूद है, जो आईएसओ-8859-1 के समान एक एन्कोडिंग है; वहाँ, यह बाइट 0x83 है।

C3 83 C2 AA

ट्रीट-एज़-यूटीएफ-8-बाइट्स-एंड-एन्कोड-टू-सीपी1252 के दूसरे दौर से गुज़रें और आपको यह मिलेगा:

C3 AA

जो, अंत में, ê . के लिए UTF-8 है ।

ध्यान दें कि भले ही आप गैर-XML HTML पृष्ठ को स्पष्ट रूप से ISO-8859-1 के रूप में प्रस्तुत करते हैं, ब्राउज़र वास्तव में ग़लत ऐतिहासिक कारणों से cp1252 एन्कोडिंग का उपयोग करेंगे।

दुर्भाग्य से MySQL में cp1252 एन्कोडिंग नहीं है; latin1 है (सही ढंग से) ISO-8859-1। तो आप लैटिन 1 के रूप में डंप करके और फिर utf8 (दो बार) के रूप में पुनः लोड करके डेटा को ठीक करने में सक्षम नहीं होंगे। आपको स्क्रिप्ट को एक टेक्स्ट एडिटर के साथ संसाधित करना होगा जो या तो सहेज सकता है (या उदाहरण के लिए पायथन file(path, 'rb').read().decode('utf-8').encode('cp1252').decode('utf-8').encode('cp1252') )।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. my.cnf में MySQL डिफॉल्ट कैरेक्टर सेट को UTF-8 में बदलें?

  2. Mysql ड्रॉप पार्टीशन और ट्रंकेट पार्टीशन में क्या अंतर है

  3. MySQL डेटाबेस में CSV फ़ाइलों को आयात करने के लिए उपकरण?

  4. Node.js MYSQL किसी क्वेरी की INSERT/UPDATE पूर्णता का पता लगाने के लिए?

  5. SQLAlchemy और UnicodeDecodeError