问题描述
前端展示后台返回中文字段乱码,显示问号。
问题定位
- 在后端中打日志定位到数据库传过来就是乱码
@Override
public List<CoopInstPo> findTree() {
List<CoopInstEntity> allCoopInst = this.getAllCoopInst();
logger.info("日志定位");
logger.info(String.valueOf(allCoopInst));
List<CoopInstPo> coopInstTree = allCoopInst.stream().map(ci -> {
CoopInstPo coopInstPo = new CoopInstPo();
coopInstPo.setCoopInstId(ci.getId());
coopInstPo.setCoopInstName(ci.getCoopInstName());
coopInstPo.setCoopInstFatherId(ci.getCoopPinstId());
return coopInstPo;
}).collect(Collectors.toList());
return coopInstTree;
}
- 查看后端编码格式
server:
port: 80
tomcat:
uri-encoding: UTF-8
- 查看数据库表编码格式
数据库表编码也为utf-8 - 查看数据库编码格式
数据库编码格式不为utf-8(通过mysql 命令),在数据库my.ini中修改数据库的编码格式 - 修改数据库编码后,仍为乱码
将数据库表转为sql存储发现默认设置为latin1,将其去掉重建表,或者单独设置字段编码格式
注:直接在sqlyog中表修改还是会显示乱码,需要重新语句插入。(晕)
版权声明:本文为qq_47902348原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。