俄罗斯charset以春天的形式

时间:2015-10-24 19:20:22

标签: jsp spring-mvc character-encoding

我是spring-mvc的新手。我有一个Spring Controllers + JSP项目。现在我的问题是我在POST数据中破坏了charset。我已经阅读了许多专门针对这个问题的帖子 - 在我的Bootstrap中为spring过滤器链添加了过滤器:

FilterRegistration.Dynamic encodingFilter = servletContext.addFilter("encoding-filter", new CharacterEncodingFilter());
    encodingFilter.setInitParameter("encoding", "UTF-8");
    encodingFilter.setInitParameter("forceEncoding", "true");
    encodingFilter.addMappingForUrlPatterns(null, true, "/*");

添加了带有WebMvcConfigurerAdapter的消息转换器

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters)
{
    converters.add(new ByteArrayHttpMessageConverter());
    converters.add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
    converters.add(new FormHttpMessageConverter());
    converters.add(new SourceHttpMessageConverter<>());
}

但没有任何帮助我。如果我发布带有俄语字符集的表单数据 - 它会被打破控制器。

1 个答案:

答案 0 :(得分:0)

因此,经过一些调查后,我发现问题只出现在我的自定义Spring Security AuthService中。在安全过滤器链中添加CharacterEncodingFilter后,问题得以解决。