我有一个mySQL表,它被设置为字符集utf8mb4,列x具有字符集utf8mb4排序规则utf8mb4_unicode_ci,我可以直接在数据库上运行一个SQL命令,该命令插入一个4字节的unicode字符,如下
INSERT INTO mytable (x) VALUES ('');但是,当我在web2py中运行下面的内容时,我得到了一个不同的条目,类似于????
sql = u"INSERT INTO mytable (x) VALUES (%s)"
db.executesql(sql, (u'',))我是否需要在web2py中设置一些东西,让它在不改变的情况下传递unicode字符?
增编:在我使用DAL时也会出现相同的????条目,如
db.mytable.insert(x=u'')发布于 2018-01-25 02:39:22
参见Trouble with UTF-8 characters; what I see is not what I stored中的“问号”
请参阅http://mysql.rjweb.org/doc.php/charcoll#python中的Python。特别是,您的连接参数(在Python之间)是什么?
u"Invalid utf8 character string: 'F09F92'"意味着Python (可能是通过解释MySQL utf8错误)对4字节的poo感到困惑。
https://stackoverflow.com/questions/48433284
复制相似问题