इनमें से किसी भी उत्तर ने मेरे लिए काम नहीं किया। UTF8 में कनवर्ट करते समय, जब एनकोडर बाइट्स के एक सेट का सामना करता है, तो यह UTF8 में परिवर्तित नहीं हो सकता है? प्रतिस्थापन जिसके परिणामस्वरूप डेटा हानि होती है। आपको UTF16 का उपयोग करने की आवश्यकता है:
SELECT
blobfield,
CONVERT(blobfield USING utf16),
CONVERT(CONVERT(blobfield USING utf16), BINARY),
CAST(blobfield AS CHAR(10000) CHARACTER SET utf16),
CAST(CAST(blobfield AS CHAR(10000) CHARACTER SET utf16) AS BINARY)
आप MySQL कार्यक्षेत्र में बाइनरी मानों का निरीक्षण कर सकते हैं। फ़ील्ड पर राइट क्लिक करें -> व्यूअर में ओपन वैल्यू-> बाइनरी। द्विआधारी में वापस परिवर्तित होने पर द्विआधारी मान मूल के समान होना चाहिए।
वैकल्पिक रूप से, आप बस बेस -64 का उपयोग कर सकते हैं जो इस उद्देश्य के लिए बनाया गया था:
SELECT
blobfield,
TO_BASE64(blobfield),
FROM_BASE64(TO_BASE64(blobfield))
SELECT CONVERT(column USING utf8) FROM table;