Spring Boot 乱码解决

Spring Boot 乱码问题,主要是Controller返回乱码和读取application.properties文件中的内容乱码。

解决方法:我使用的是Intellij Idea

1、Ctrl+Alt+S:打开设置界面(也可以:File-->Settings打开),-->Editor-->File EnCodings:

      有编码的地方都设置为UTF-8,“Transparent native-to-ascii conversion” 选项勾选上。



 

2、读取application.properties文件中的内容乱码

   application.properties 文件中添加:

banner.charset=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8

3、Controller返回乱码

  添加配置类:

 
/**
 * 配置类:解决Controller返回中文乱问题
 */
@Configuration
public class EncodingConfig extends WebMvcConfigurerAdapter {
    private static final Logger logger=Logger.getLogger(EncodingConfig.class);
    @Bean
    public HttpMessageConverter<String> responseBodyConverter() {
        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
        logger.info("*************************Encoding 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);
    }
}

猜你喜欢

转载自cloudpure.iteye.com/blog/2400771
今日推荐