스프링 부트 한글 깨짐 - eunja511005/Tutorial GitHub Wiki

해결책 1 - application.properties 파일 수정 <== 이걸로 해결 안됨

# encoding
#spring.http.encoding.charset=UTF-8
#spring.http.encoding.enable=true
#spring.http.encoding.force=true

# encoding
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
server.servlet.encoding.force-response=true

해결책 2 - CharacterEncodingFilter Bean 생성 <== 이걸로 해결 됨

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {

//	@Override
//	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
//		StringHttpMessageConverter converter = new StringHttpMessageConverter(StandardCharsets.UTF_8);
//		converter.setWriteAcceptCharset(false); //이거 설정 안하면 Accept-Charset에 대다수의 Encoding Type 리턴함
//		converters.add(converter);
//
//		super.configureMessageConverters(converters);
//	}
	
    @Bean
    public CharacterEncodingFilter characterEncodingFilter() {
        final CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        return characterEncodingFilter;
    }
}