UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。解决方案就是:将Mysql的编码从utf8转换成utf8mb4。
解决方案:
1.修改配置文件。
找到 Mysql 配置文件my.ini
或者是default.ini
配置文件。修改或者添加一下内容。
2. 修改环境变量。
以root
身份登录 Mysql ,修改环境变量,将character_set_client,
character_set_connection
,character_set_database
,character_set_results
,character_set_server
都修改成 utf8mb4 编码。
3. 将原来的表数据转换为 utf8mb4 编码。
alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin;
(ps:?号不代表没有成功,数据库显示就是这样。读取数据到浏览器展示 会发现正常的,APP正常显示)