MariaDB / Python与表情符号字符有关

时间:2015-10-07 14:20:13

标签: python encoding utf-8 mysql-python mariadb

我在x['foo']中有一个字符串,有时它是普通字符串,有时它是表情符号或文字艺术..

因此,我在尝试将内容提交到数据库时遇到此错误。

  

警告:字符串值不正确:' \ xE4 \ xB8 \ xBA Co ...'对于列'描述'在第1行

如果我使用x['foo'].decode("utf-8"),我会收到此错误:

  

UnicodeEncodeError:' ascii'编解码器不能对字符u' \ u4e3a'进行编码。位置0:序数不在范围内(128)

如果我尝试,encode('ascii', 'ignore').decode('ascii') 然后我得到这个错误。

  

x [' foo']。encode(' ascii','忽略')。解码(' ascii')   AttributeError:' NoneType'对象没有属性'编码'

我正在使用 MariaDB 5.5.44 Python 2.7.5

我正在将数据库初始化为

conn = MySQLdb.connect("localhost","root","","")
conn.set_character_set('utf8')
cursor = conn.cursor()
cursor.execute('SET NAMES utf8;')
cursor.execute('SET CHARACTER SET utf8;')
cursor.execute('SET character_set_connection=utf8;')

0 个答案:

没有答案