解决springboot后端接口返回中文乱码问题

498 阅读1分钟

1.修改application.xml

#设置utf-8,防止中文乱码
server.servlet.encoding.charset = UTF-8
server.servlet.encoding.enabled = true
server.servlet.encoding.force = true
spring.messages.encoding=UTF-8

2.在对应请求方法上添加

@RequestMapping(value = "doLogin", produces = "application/json; charset=utf-8")

3. 覆写extendMessageConverters方法

@Configuration
public class CustomMVCConf extends WebMvcConfigurationSupport { 
   //覆写extendMessageConverters方法即可
    @Override
    protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
        for (HttpMessageConverter<?> converter :converters){
            if(converter instanceof StringHttpMessageConverter){
                ((StringHttpMessageConverter)converter).setDefaultCharset(StandardCharsets.UTF_8); //将StringHttpMessageConverter改为utf-8
            }
        }
        super.extendMessageConverters(converters);
    }
}