我有一个阿拉伯语的字符串说如何使用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