笔记:关于Springboot,Controller返回中文乱码问题

解决在controller直接返回string类型时所出现的乱码

1.先看自己的开发环境字符集是否正常

2.查看工程字符集是否正常

以上都ok,但是还是返回乱码,于是去找适合的解决方案:

方案1:@RequestMapping(value = "/use", produces = "application/json;charset=utf-8")

直接在请求路径上面添加 produces,亲测是可以解决问题的。一个controller还好,数量多了,这个方法就不靠谱了

方案2:新增config在自定义拦截器上指定字符集:

@Configuration
public class MyInterceptorConfig extends WebMvcConfigurationSupport{
    @Override
    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        // 解决controller返回字符串中文乱码问题
        for (HttpMessageConverter<?> converter : converters) {
            if (converter instanceof StringHttpMessageConverter) {
                ((StringHttpMessageConverter)converter).setDefaultCharset(StandardCharsets.UTF_8);
            }
        }
    }   
}

成功解决。。。。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页