如何让MySQL InnoDB支持新的Unicode字符集,例如\U0001f3b8
。
char \U0001f3b8
是GUITAR
,由iPhone的输入法生成。
问题是它无法保存在MySQL DB中。
保存的列类型为VARCHAR
,我已尝试更改为TEXT
,仍然无效。
例外是:
警告:字符串值不正确:列的'\ xF0 \ x9F \ x8E \ xB8' 第1行的“消息”
BTW:我的工作环境是python + Django
答案 0 :(得分:1)
我认为新的unicode字符集意味着完全支持UTF-8。您需要将表/列排序规则更改为包含utf8mb4
编码的排序规则。良好的旧utf8
在不完整的实现中,最多只支持三个字节。你需要MySQL / 5.5。