我有一個阿拉伯語的字符串說如何使用python在mysql數據庫中存儲阿拉伯語文本?
txt = u'Arabic (\u0627\u0644\u0637\u064a\u0631\u0627\u0646)'
我想寫這個阿拉伯文字轉換成MySQL數據庫。我試着用
txt = smart_str(txt)
或
txt = text.encode('utf-8')
這兩個din't工作,因爲他們coverted的字符串
u'Arabic (\xd8\xa7\xd9\x84\xd8\xb7\xd9\x8a\xd8\xb1\xd8\xa7\xd9\x86)'
而且我的數據庫字符集已被設置爲UTF-8
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
因此,由於這個新的單代碼,我的數據庫顯示與編碼文本相關的字符。請幫忙。我希望我的阿拉伯文文本得到保留。
也並從MySQL數據庫這個阿拉伯文字的快速導出寫同樣的阿拉伯語文本文件或將再次將其轉換回爲Unicode?
我用foolowing代碼中插入
cur.execute("INSERT INTO tab1(id, username, text, created_at) VALUES (%s, %s, %s, %s)", (smart_str(id), smart_str(user_name), smart_str(text), date))
此前這個時候我沒有使用smart_str,它拋出一個錯誤,說只有「的Latin-1」是允許的。
你能告訴我們你用來執行INSERT的代碼嗎? –
我已經包含了插入。請幫助 – kkoe