项目测试过程中发现如下问题:手机上的一些特殊符号,无法存储到数据库,并且系统报错:

报错信息如下:

报错原因:数据库编码为utf-8不支持ios的emoji
解决方案:
修改阿里云rds的参数设置:
1.在 RDS 实例控制台 参数设置 , 点击"笔" 样图标, 如图: 将utf8 改为:utf8mb4
2."确定" "提交参数" 即可, 如图:
注: 该参数修改后, 仅对开启高权限账号的实例后来创建的数据库有效. 对当前数据库无效.
3.修改数据库表字段的字符集
SHOW FULL COLUMNS FROM `dl_ask_parent`;
4.修改对应字段字符集
ALTER TABLE `dl_ask_parent` CHANGE `DL_ASK_REPLY_CONTENT` `DL_ASK_REPLY_CONTENT` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;
网友评论