项目客户端是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 = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。