से इमोटिकॉन्स मैं एक आईफोन ऐप से टिप्पणियों को सहेजने की कोशिश कर रहा हूं जो आज और अधिकतर में इमोटिकॉन्स शामिल हो सकता है। कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, मैं इमोटिकॉन्स को MySQL डेटाबेस में सहेज नहीं सकता ... लगातार यूनिकोड त्रुटियां।आईफोन से पायथन/Django
- अजगर 2.6.5
- Django 1.2.1
- MySQL डेटाबेस
- एक VARCHAR (255) क्षेत्र
त्रुटि मैं प्राप्त रखना है:
Incorrect string value: '\xF0\x9F\x97\xBC \xF0...' for column 'body' at row 1
strin जी मैं डेटाबेस में गुजर रहा हूँ है:
test_txt = u"Emoji - \U0001f5fc \U0001f60c \U0001f47b ...".encode('utf-8')
अद्यतन: यहाँ मॉडल मैं उपयोग कर रहा हूँ है:
class ItemComment(db.Model):
item = db.ForeignKey(Item)
user = db.ForeignKey(Profile)
body = db.CharField(max_length=255, blank=True, null=True)
active = db.BooleanField(default=True)
date_added = db.DateTimeField(auto_now_add=True)
def __unicode__(self):
return "%s" % (self.item)
अजीब बात यह है कि अगर मैं कोशिश करते हैं और एक क्षेत्र को यह पारित कि मैंने MySQL में बनाया है और Django models.py नहीं यह ठीक काम करता है। लेकिन जैसे ही मैं Django मॉडल में फ़ील्ड पंजीकृत करता हूं, यह मर जाता है। क्या इन्हें स्टोर करने का कोई और तरीका है?
कोई भी विचार अद्भुत होगा।
मैं इस बारे में अधिक अटक नहीं हो सकता है ...
अद्यतन 2: टर्मिनल में यह ट्रैकिंग निम्नलिखित अद्यतन बयान (U0001f5fc नोटिस)
UPDATE 'table' SET 'body' = '', WHERE 'table'.'id' = 1 ; args=(u'\U0001f5fc')
कट्टर के रूप में उपयोग करते हुए का उपयोग कर के रूप में मैं प्राप्त कर सकते हैं
force_unicode(smart_str(value), encoding='utf-8', strings_only=False, errors='ignore')
लेकिन त्रुटि अभी भी फेंकता है:
मूल्य पारित करने के लिएपूरी तरह से खो गया !!!
चीयर्स, MySQL सर्वर के लिए चारसेट utf8mb4
आप सका अपना मॉडल प्रदान करें? – bossylobster
@ बॉसिलोबस्टर, चीयर्स, बस उपरोक्त प्रतिलिपि में मॉडल जोड़ा। –
http://stackoverflow.com/questions/2108824/mysql-incorrect-string-value-error-when-save-unicode-string-in-django देखें, क्योंकि आपने कहा है कि यह MySQL में ठीक काम करता है मुझे संदेह है कि यह आशा करेगा , लेकिन यह एक कोशिश के लायक है। – bossylobster