解决SpringBoot返回中文乱码问题方法汇总

解决SpringBoot乱码问题汇总

目录

解决SpringBoot乱码问题汇总

前言

1、配置CharacterEncodingFilter

2、在RequestMapping上添加produces

3、读取properties文件错误

4、pom.xml中配置properties

输出结果展示:



前言

SpringBoot中文乱码问题时常发生,但是每次都是找到一种奇怪的解决办法解决了之后就不理睬了,但是下次发生乱码的时候又要找来找去,找一种适合自己的解决办法,我今天又遇到了一

种奇怪的现象,很生气于是有了这一片汇总记录,记录几种常见的可以解决乱码问题的方式。

1、配置CharacterEncodingFilter

SpringBoot默认会帮我们配置好基本的CharacterEncodingFilter,不过为了保险起见

①可以在yaml、properties文件中再次配置

#父子结构 通过:进行分割,value与:中间一定要加入 空格
server.port:10086
#设置utf-8,防止中文乱码
server.servlet.encoding.charset:UTF-8
server.servlet.encoding.enabled:true
server.servlet.encoding.force:true
#自定义book属性
book.name:牧神记
book.number:10000

②也可以自己在Configuration类中创建一个用自己的CharacterEncodingFilter

@Configuration
public class MyConfiguration extends WebMvcConfigurationSupport {
    @Bean
    public CharacterEncodingFilter characterEncodingFilter(){
        CharacterEncodingFilter filter = new CharacterEncodingFilter();
        filter.setEncoding("UTF-8");
        filter.setForceEncoding(true);
        return filter;
    }
}

2、在RequestMapping上添加produces

@RestController
public class TestController {

    @Value("${book.name}")
    private String name;

    @Value("${book.number}")
    private String number;

    //防止中文乱码
    @RequestMapping(value = "/getBook",produces = "application/json;charset=utf-8")
    public String getBook(){
        return name + number;
    }

}

3、读取properties文件错误

4、pom.xml中配置properties

<properties>
        <!-- 与1.8配置在一起,设置编码集-->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
</properties>

输出结果展示:

  • 17
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彦登的登

动力来源

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值