最近一直在做微信的相关需求公众号,突然发现如果用户的昵称是emoji标签,用户的昵称无法正常存入数据库此时。原因:这是因为Mysql的utf8编码最大为3字节,而emoji标签是4字节,所以不能存储emoji标签信息,所以需要将数据的编码改为utf8mb42:解决方法:1:设置连接编码SETNAMESutf8mb4以上命令等价于:SETcharacter_set_client='utf8mb4';SETcharacter_set_connection='utf8mb4';SETcharacter_set_results='utf8mb4';2:设置数据库编码ALTERDATABASEdatabase_name(数据库名)CHARACTERSET=utf8mb4COLLATE=utf8mb4_unicode_ci;3:设置表编码ALTERTABLEtable_name(表名)CONVERTTOCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;设置好以上编码后,在php中连接数据时设置:'charset'=>'utf8mb4',执行以上配置后,此时emoji标签存储成功!!!
