Spring Boot 中文乱码解决方案

来源:互联网 发布:手机简谱软件 编辑:程序博客网 时间:2024/06/11 07:39

第一步,约定传参编码格式

不管是使用httpclient,还是okhtWebMvcConfigurerAdapter tp,都要设置传参的编码,为了统一,这里全部设置为utf-8

第二步,修改application.properties文件

增加如下配置:

spring.http.encoding.force=truespring.http.encoding.charset=UTF-8spring.http.encoding.enabled=trueserver.tomcat.uri-encoding=UTF-8

此时拦截器中返回的中文已经不乱码了,但是controller中返回的数据依旧乱码。

在你的main函数中,继承WebMvcConfigurerAdpter:

@Configurationpublic class App extends WebMvcConfigurerAdapter {    @Bean    public HttpMessageConverter<String> responseBodyConverter() {        StringHttpMessageConverter converter = new StringHttpMessageConverter(                Charset.forName("UTF-8"));        return converter;    }    @Override    public void configureMessageConverters(            List<HttpMessageConverter<?>> converters) {        super.configureMessageConverters(converters);        converters.add(responseBodyConverter());    }    @Override    public void configureContentNegotiation(            ContentNegotiationConfigurer configurer) {        configurer.favorPathExtension(false);    }}


原创粉丝点击