मैंने इमोजी और यू+एफएफएफएफ कोडपॉइंट से परे अन्य पात्रों के लिए पाइथन और माईएसक्यूएल के बीच यूटीएफ -8 वर्णों की पूरी श्रृंखला के सही आदान-प्रदान के साथ खुद को संघर्ष किया है।
यह सुनिश्चित करने के लिए कि सब कुछ ठीक रहा, मुझे निम्नलिखित कार्य करने पड़े:
- सुनिश्चित करें कि
utf8mb4
CHAR
. के लिए इस्तेमाल किया गया था ,VARCHAR
, औरTEXT
MySQL में कॉलम - पायथन में UTF-8 लागू करें
- Python और MySQL के बीच उपयोग के लिए UTF-8 को लागू करें
पायथन में UTF-8 को लागू करने के लिए, निम्न पंक्ति को अपनी पायथन लिपि की पहली या दूसरी पंक्ति के रूप में जोड़ें:
# -*- coding: utf-8 -*-
Python और MySQL के बीच UTF-8 को लागू करने के लिए, MySQL कनेक्शन को निम्नानुसार सेटअप करें:
# Connect to mysql.
dbc = MySQLdb.connect(host='###', user='###', passwd='###', db='###', use_unicode=True)
# Create a cursor.
cursor = dbc.cursor()
# Enforce UTF-8 for the connection.
cursor.execute('SET NAMES utf8mb4')
cursor.execute("SET CHARACTER SET utf8mb4")
cursor.execute("SET character_set_connection=utf8mb4")
# Do database stuff.
# Commit data.
dbc.commit()
# Close cursor and connection.
cursor.close()
dbc.close()
इस तरह, आपको encode
. जैसे कार्यों का उपयोग करने की आवश्यकता नहीं है और utf8_encode
।