springboot返回前端中文乱码

本文详细阐述了如何在Spring Boot应用中避免中文乱码,包括配置RequestMapping字符集、YAML文件设置、以及处理特定场景下的JSON输出问题,重点在于理解编码转换和ResponseBody的使用窍门。
摘要由CSDN通过智能技术生成

尝试了各种防止中文乱码的方式,但是还是乱码;最后还是细节问题导致;

解决方式:

以及俩种方式是百度的,我的问题不是这俩块

1.在requestMapping 中添加 produces

@RequestMapping(
	value = "/login", 
	produces = "application/json;charset=utf-8", 
	method = RequestMethod.POST
)

2.在application.yml 中添加配置

spring:
    http:
        encoding:
            force: true
            charset: utf-8
            enabled: true

3.解决单个字符串乱码

String name = new String(user.getName().getBytes("ISO-8859-1"),"UTF-8");

我的乱码问题的解决方式

接口添加 @ResponseBody 是返回对象到前端就会展示成json格式,但有的时候会乱码;
比如下面的写法

User user = new User();//假装有数据
JSONObject output = new JSONObject();
output.put("userInfo": user);

user添加到JSONObject中 user里面的中文就会乱码;

返回前端的数据还是先将对象转成 JSON然后在 return

User user = new User();//假装有数据
JSONObject output = new JSONObject();
output.put("userInfo": JSON.toJSON(user));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值