का उपयोग नहीं करना चाहिए, मैं वर्तमान में अपने उद्देश्यों के लिए एक SQL डेटाबेस में फ़ाइल नाम जारी रख रहा हूं। जब भी मैं विशेष वर्ण (é आदि) है कि एक फ़ाइल सम्मिलित करने का प्रयास करें, यह निम्न त्रुटि फेंकता है:pysqlite2: प्रोग्रामिंग त्रुटि - आपको 8-बिट बाइटस्टिंग
pysqlite2.dbapi2.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
जब मैं करने के लिए भेजा मूल्य लपेटकर द्वारा "मेरे आवेदन से अधिक यूनिकोड तार करने के लिए स्विच" है जैसे यूनिकोड विधि के साथ pysqlite:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 66: ordinal not in range(128)
वहाँ कुछ मैं क्या कर सकते हैं इस से छुटकारा पाने के है: unicode(filename)
, यह इस त्रुटि फेंकता है? मेरी सभी फाइलों को अनुरूप बनाने के लिए संशोधित करना एक विकल्प नहीं है।
अद्यतन अगर मैं filename.decode("utf-8")
के माध्यम से पाठ को डिकोड, मैं अभी भी ProgrammingError ऊपर हो रही है।
मेरे वास्तविक कोड इस तरह दिखता है:
cursor.execute("select * from musiclibrary where absolutepath = ?;",
[filename.decode("utf-8")])
क्या मेरी कोड यहाँ की तरह देखना चाहिए?
प्रश्न को अपडेट करने के बाद, इस कोड को लगता है, वास्तव में त्रुटि उत्पन्न करने वाला कोड नहीं था, है ना? – metamatt
ठीक है, यह बाद में आवेदन में समान कोड था। –