इससे प्रश्न चिह्न आते हैं:
- ग्राहक के पास एक मान्य वर्ण (अच्छा) है, और
- द
SET NAMESक्लाइंट के पास (अच्छा) एन्कोडिंग से सहमत है, लेकिन - लक्षित कॉलम का
CHARACTER SETइच्छित वर्ण (खराब) शामिल नहीं है।
उदाहरण:
latin1केवल पश्चिमी यूरोपीय पात्रों को संभालता है; एक पूर्वी यूरोपीय चरित्र या किसी एशियाई चरित्र को डालने की कोशिश करना फिट नहीं होगा।latin2औरcp1250चेक को संभाल सकता है, इसलिए उनके बीच रूपांतरण अधिकतर ठीक हैं, लेकिन उनमें से किसी एक औरlatin1के बीच नहीं हैंutf8mb4utf8. का सुपरसेट है .utf8 वर्ण को utf8mb4 में डालना ठीक है, लेकिन इसके विपरीत परिणाम '?' होगा कुछ मामलों में।
वे वर्ण जिन्हें '?' में परिवर्तित किया गया था तालिका से पुनर्प्राप्त नहीं किया जा सकता है।
भविष्य के INSERTs को कैसे ठीक करें ?
utf8mb4का उपयोग करना टेबल कॉलम पर शायद सभी मामलों में काम करता है।- अन्यथा, कुछ
CHARACTER SETचुनें टेबल कॉलम के लिए जो क्लाइंट डेटा से उचित रूप से मेल खाता है।
केवल कुछ वर्णों के ? . होने का कारण (š?ž?? . में ) ऐसा इसलिए है क्योंकि šž latin1 में मौजूद हैं लेकिन अन्य नहीं हैं।
निचला रेखा:CHARACTER SET बदलें तालिका परिभाषा में।