Bug描述:
线上发版一段时间后,接口查询RDS中含有特殊表情字符的字段内容出现乱码问题
Bug现象:
如下特殊表情字符会返回为“跟我??走吧”
开始解决:
因为数据库都是已经存进去了特殊表情字符的,在可视化的工具都可以直接看到,没有问题的。使用命令查看数据库的编码格式以及存储特殊表情字符的字段编码都是utf8mb4,所以开始从最外层代码开始排查定位问题。
--- 查看数据库编码
SHOW VARIABLES LIKE '%character%';
-
首先觉得是接口返回的字符乱码问题,便对接口返回编码进行如下控制
@GetMapping(value = "/xxx", produces = "application/json;charset=UTF-8")