I am using spring boot in my project and I run some encoding issue.
In the project, there is a controller(below) which accept request with a content type header ,\"appli
Adding the CharacterEncodingFilter bean can solve the problem ,seeing form https://github.com/spring-projects/spring-boot/issues/1182
@Bean
CharacterEncodingFilter characterEncodingFilter() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
filter.setForceEncoding(true);
return filter;
}
I had a similar problem and found that Spring Boot has "forceEncoding" enabled by default. This causes the request charset to be overridden and set to UTF-8 every time in their filter.
See Appendix A. Common application properties
The key part is:
Defaults to true when "force" has not been specified.
So setting either
spring.http.encoding.force=false
or
spring.http.encoding.force-request=false
Should solve your problem, as long as the request has the correct headers.