我正在尝试向 MySQL 数据库中的 VARCHAR 字段添加一个特殊字符(🍒,代码点 U+1F352),它只是给我数据库中的空字符串。

sql = "UPDATE table SET special_char = %s WHERE id = %s"
sql_db.execute(sql, (special_char, id))

我在页面顶部有 #coding=utf-8 。我要添加的字符是其中之一:http://en.wikipedia.org/wiki/Emoji#endnote_U2600_as_of_Unicode_version

最佳答案

MySQL 与 Unicode 基本多语言平面 (BMP)(字符 u'00000000'– u'0000FFFF)兼容。

您尝试使用的特殊字符的引用是 u'0001F352'。请注意,末尾有 5 个非零数字,因此这不是 BMP。

幸运的是,如果您正在寻找彩色符号,BMP 中有一些。

有些会自动显示为彩色,例如星号:u'00002B50'。其他的,你需要通过把'\U0000FE0F'放在最后来激活颜色,例如,u'\U00002666'和u'\U00002666\U0000FE0F'

其他包括:
u'\U000021AA\U0000FE0F'
u'\U00002668\U0000FE0F'
u'\U000023EC\U0000FE0F'
u'\U00002757\U0000FE0F'
u'\U00002665\U0000FE0F'
u'\U00002660\U0000FE0F'
u'\U00002666\U0000FE0F'
u'\U00002663\U0000FE0F'
u'\U000026AA\U0000FE0F'
u'\U000026AB\U0000FE0F'
u'\U00002B50\U0000FE0F'
u'\U0000261D\U0000FE0F'

有关更多信息,请查看此数据库中的统一字符。 http://www.unicode.org/~scherer/emoji4unicode/snapshot/utc.html

10-08 18:54