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')
)।