मुझे किसी अन्य चरित्र में 4-बाइट चार को परिवर्तित करने की आवश्यकता है (पायथन में)। यह मेरे यूटीएफ -8 mysql डेटाबेस में एक त्रुटि प्राप्त किए बिना डालने के लिए है: "गलत स्ट्रिंग मान: '\ xF0 \ x9F \ x94 \ x8E' पंक्ति 1 पर 'कॉलम' लाइन के लिए 'पायथन, MySQL त्रुटि से बचने के लिए 4-बाइट चार रूपांतरित करें "गलत स्ट्रिंग मान:"
Warning raised by inserting 4-byte unicode to mysql दिखाता है यह इस तरह से कार्य करें:
>>> import re
>>> highpoints = re.compile(u'[\U00010000-\U0010ffff]')
>>> example = u'Some example text with a sleepy face: \U0001f62a'
>>> highpoints.sub(u'', example)
u'Some example text with a sleepy face: '
हालांकि, मैं टिप्पणी में उपयोगकर्ता, के रूप में एक ही त्रुटि मिलती है "... बुरा चरित्र रेंज .." यह जाहिरा तौर पर है क्योंकि मेरे अजगर एक यूसीएस -2 (नहीं यूसीएस है -4) निर्माण। लेकिन फिर मैं स्पष्ट नहीं हूं कि इसके बजाय क्या करना है?
अगर आप MySql में [utf8mb4] (http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html) चारसेट का उपयोग यह अभी भी एक समस्या है? –
निश्चित नहीं है। दुर्भाग्य से मैं डेटाबेस के वर्णमाला को बदलने के लिए नहीं मिलता है। – user984003