折腾了两天,mysql已经升级到了5.6.2,所有编码都已设为utf8mb4
变量输出如下:
character_set_client | utf8mb4
character_set_connection | utf8mb4
character_set_database | utf8mb4
character_set_filesystem | binary
character_set_results | utf8mb4
character_set_server | utf8mb4
character_set_system | utf8
character_sets_dir | /usr/share/mysql/charsets/
collation_connection | utf8mb4_general_ci
collation_database | utf8mb4_unicode_ci
collation_server | utf8mb4_unicode_ci 对应表以及字段‘message’ 编码都已经设为utf8mb4_bin
用query()写入的时候,还是报错“Incorrect string value: '\xF0\x9F\x98\x8A\xF0\x9F...' for column 'message' at row 1”
求问题其他可能性
变量输出如下:
character_set_client | utf8mb4
character_set_connection | utf8mb4
character_set_database | utf8mb4
character_set_filesystem | binary
character_set_results | utf8mb4
character_set_server | utf8mb4
character_set_system | utf8
character_sets_dir | /usr/share/mysql/charsets/
collation_connection | utf8mb4_general_ci
collation_database | utf8mb4_unicode_ci
collation_server | utf8mb4_unicode_ci 对应表以及字段‘message’ 编码都已经设为utf8mb4_bin
用query()写入的时候,还是报错“Incorrect string value: '\xF0\x9F\x98\x8A\xF0\x9F...' for column 'message' at row 1”
求问题其他可能性
另外是emoji表情,utf8mb4才行。。
在执行insert的query前加了
mysql_query(set names = utf8mb4 )
因为emoji表情得对应utf8mb4编码才能存进数据库
把数据库字符集修改为 utf8mb4
修改连接数据库的编码
init-connect='SET NAMES utf8mb4'
character-set-server=utf8mb4