问题描述
如标题所述,我在使用 python 中的 mysql.connector
模块将表情符号插入 MariaDB 数据库时遇到问题。
当我尝试使用python将包含表情符号的数据插入数据库时,所有表情符号都被简单地替换为问号。我还通过在将它们插入数据库之前将它们输出到控制台来确保表情符号在 python 中工作。
在我将数据库中的排序规则更改为 utf8mb4_general_ci
后,通过 phpMyAdmin 插入表情符号不再是问题。所以我可以确保数据库没有问题。
如果有任何帮助,我插入的数据来自 Steam API 并包含昵称。
我现在想知道是否有人知道我如何解决这个问题。
希望我没有忘记任何重要信息。
解决方法
您是正确的,表情符号可以用 Unicode 表示。您是否记得在 Python 程序中设置 connection character set 和排序规则?
这样的事情可能对您open the connection有所帮助。
cnx = mysql.connector.connect(user='JonaWe',database='test',use_unicode=True,charset='utf8mb4,collation='utf8mb4_general_ci',etcetera)
cnx.set_charset_collation('utf8mb4','utf8mb4_general_ci')
Python 和 MySQL 之间的连接可能会导致表情符号的 utf8mb4 内容出现乱码。