Mysql插入emoji表情符号错误 😊😂🤣❤😍😒👌😘


InternalError Incorrect string value: '\\xF0\\x9F\\x91\\x87' for column

 

遇到这个问题,有两种解决方式:

   程序里转换一下如emoji Util之类的解决方式将特殊字符替换成"" 空字符串
   单独设置字符集 将 库/表/字段 都设置为utf8mb

连接数据库也需要设置mysql_url = mysql+pymysql://%(user)s:%(password)s@%(host)s:%(port)s/%(database)s?charset=utf8mb

修改库的字符集
语法:alter database 库名 default character set 字符集;
alter database test default character set utf8mb4;
修改表的字符集
语法:alter table 表名 convert to character set 字符集;
alter table test1 convert to character set utf8mb4;
修改字段的字符集
语法:alter table 表名 modify 字段名 字段属性 character set 字符集;
alter table test1 modify name char(10) character set utf8mb4;