Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何让 MySQL InnoDB 支持新的 Unicode 字符集,例如\U0001f3b8.
\U0001f3b8
char\U0001f3b8是GUITAR由 iPhone 的输入法生成的。
GUITAR
问题是它不能保存在 MySQL DB 中。
保存的列类型是VARCHAR,我试过改成TEXT,还是不行。
VARCHAR
TEXT
例外是:
警告:不正确的字符串值:第 1 行的列 'message' 的 '\xF0\x9F\x8E\xB8'
顺便说一句:我的工作环境是 python + Django
我假设新的 unicode 字符集意味着完整的 UTF-8 支持。您需要将表/列排序规则更改为包含utf8mb4编码的排序规则。utf8在仅支持最多三个字节的不完整实现中很旧。为此,您需要 MySQL/5.5。
utf8mb4
utf8