mysql存储emoji
项目客户端是ios app,字符涉及到emoji表情。保存到服务器时候出现:
(1366, "Incorrect string value: '\\xF0\\x9F\\x98\\x84' for column 'content' at row 1")
原因
emoji是4个字节编码, 原来的utf8不能保存。
使用 utf8mb4解决问题
修改mysql配置
[client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'
mysql链接
e = create_engine("mysql+pymysql://scott:tiger@localhost/test?charset=utf8mb4")
参考
1.http://blog.csdn.net/boycycyzero/article/details/42879911
2.http://docs.sqlalchemy.org/en/rel_0_9/dialects/mysql.html