ラケシュ12345
सही?
संभवत:तब क्या हुआ जब INSERTing था
- आपके पास डेटा के लिए सही utf8 एन्कोडिंग थी, और
- सेट नाम latin1 -- डिफ़ॉल्ट रूप से या गलती से, और
- पाठ्य को जिस स्तंभ (या तालिका) में संग्रहीत किया गया था, उसे
CHARACTER SET latin1
के साथ घोषित किया गया था , फिर से संभवतः डिफ़ॉल्ट रूप से।
आप यह सत्यापित कर सकते हैं कि डेटा सही तरीके से संग्रहीत किया गया है
SELECT col, HEX(col) ...
यदि आप वह स्ट्रिंग लाते हैं, तो हेक्स E383A9E382B1E382B7E383A5EFBC91EFBC92EFBC93EFBC94EFBC95
होगा . ध्यान दें कि E383
. से 6 हेक्स के समूह कैसे होते हैं कटकाना या EFBC
. के मामले में "पूर्ण चौड़ाई अंक" के लिए।
यह मानते हुए कि तालिका अभी भी लैटिन1 कहती है, कोई डेटा नष्ट नहीं हुआ है, और 2-चरण ALTERए> इसे ठीक कर देंगे। संक्षेप में:
ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...;
ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...;
जहां लंबाई काफी बड़ी है और अन्य "..." में और कुछ भी है (नल, आदि नहीं) पहले से ही कॉलम पर था।
(मैं अभी तक इस प्रश्न का स्पष्ट और पूर्ण उत्तर नहीं दे सका।)