1

如何让 MySQL InnoDB 支持新的 Unicode 字符集,例如\U0001f3b8.

char\U0001f3b8GUITAR由 iPhone 的输入法生成的。

问题是它不能保存在 MySQL DB 中。

保存的列类型是VARCHAR,我试过改成TEXT,还是不行。

例外是:

警告:不正确的字符串值:第 1 行的列 'message' 的 '\xF0\x9F\x8E\xB8'

顺便说一句:我的工作环境是 python + Django

4

1 回答 1

1

我假设新的 unicode 字符集意味着完整的 UTF-8 支持。您需要将表/列排序规则更改为包含utf8mb4编码的排序规则。utf8在仅支持最多三个字节的不完整实现中很旧。为此,您需要 MySQL/5.5。

于 2012-12-14T09:19:01.180 回答