पायथन MySQLdb मॉड्यूल का उपयोग करते समय मैं इसी समस्या में भाग गया। चूंकि MySQL आपको चरित्र सेट की परवाह किए बिना टेक्स्ट फ़ील्ड में आपके इच्छित किसी भी बाइनरी डेटा को स्टोर करने देगा, मुझे अपना समाधान यहां मिला:
Python MySQLdb के साथ UTF8 का उपयोग करना
संपादित करें:पहली टिप्पणी में अनुरोध को पूरा करने के लिए उपरोक्त URL से उद्धरण...
<ब्लॉकक्वॉट>"UnicodeEncodeError:'latin-1' कोडेक कैरेक्टर को एनकोड नहीं कर सकता..."
ऐसा इसलिए है क्योंकि MySQLdb सामान्य रूप से हर चीज़ को लैटिन-1 में एन्कोड करने का प्रयास करता है। कनेक्शन को स्थापित करने के ठीक बाद निम्नलिखित कमांड निष्पादित करके इसे ठीक किया जा सकता है:
db.set_character_set('utf8')
dbc.execute('SET NAMES utf8;')
dbc.execute('SET CHARACTER SET utf8;')
dbc.execute('SET character_set_connection=utf8;')
<ब्लॉकक्वॉट>
"डीबी" MySQLdb.connect()
. का परिणाम है , और "डीबीसी" का परिणाम हैdb.cursor()
।