首页 > IT职业 > IT生活 > mysql 数据库支持emjoy表情
对于emjoy表情,插入数据库的时候总是报错如下:
Incorrect string value: 'xF0x9Fx98x8D' for column 'REAL_NAME' at row 1
从上面看出该字段不支持emjoy表情
查找发现emjoy表情采用的是utf8mb4存储,utf8mb4是utf8的超集(包含了一些非常见字符,比如说emoji表情还有一些特殊汉字),实际上mysql里面的utf8mb4才是传统意义上的utf8;性能上没有区别,只是少数的字符用4byte进行编码,
Connector/J did not support utf8mb4 for servers 5.5.2 and newer. Connector/J now auto-detects servers configured with character_set_server=utf8mb4or treats the Java encoding utf-8 passed using characterEncoding=... as utf8mb4in the SET NAMES= calls it makes when establishing the connection. (Bug #54175)
http://dev.mysql.com/doc/relnotes/connector-j/en/news-5-1-13.html
self.conn=MySQLdb.connect(host="xxx",user="xxx",passwd="xxx",charset="utf8",init_command="set names utf8mb4”)
建立连接使用set names utf8mb4命令就可以
作者:全栈运维
链接:https://www.jianshu.com/p/be9d033c70a5
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3263/viewspace-2805500/ ,如需转载,请注明出处,否则将追究法律责任。