Java 春季五及五;编码设置
我正在使用Spring5。在编码方面有问题,例如: ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ20。第二,在第三方会议上,会议将在第三方会议上进行 我尝试以这种方式修复编码:Java 春季五及五;编码设置,java,spring,utf-8,Java,Spring,Utf 8,我正在使用Spring5。在编码方面有问题,例如: ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ20。第二,在第三方会议上,会议将在第三方会议上进行 我尝试以这种方式修复编码: @Configuration public class AppInit extends AbstractAnnotationConfigDispatcherServletInitializer { @Override public void onStartup(ServletContext serv
@Configuration
public class AppInit extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
addEncodingFilter(servletContext);
super.onStartup(servletContext);
}
...
private void addEncodingFilter(ServletContext servletContext) {
CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
characterEncodingFilter.setEncoding("UTF-8");
characterEncodingFilter.setForceEncoding(true);
EnumSet<DispatcherType> dispatcherTypes
= EnumSet.of(DispatcherType.REQUEST, DispatcherType.FORWARD, DispatcherType.ERROR);
FilterRegistration.Dynamic characterEncoding
= servletContext.addFilter("characterEncoding", characterEncodingFilter);
characterEncoding.addMappingForUrlPatterns(dispatcherTypes, true, "/*");
characterEncoding.setAsyncSupported(true);
}
}
@配置
公共类AppInit扩展了AbstractAnnotationConfigDispatcherServletInitializer{
@凌驾
启动时公共void(ServletContext ServletContext)引发ServletException{
addEncodingFilter(servletContext);
super.onStartup(servletContext);
}
...
私有void addEncodingFilter(ServletContext ServletContext){
CharacterEncodingFilter CharacterEncodingFilter=新的CharacterEncodingFilter();
characterEncodingFilter.setEncoding(“UTF-8”);
characterEncodingFilter.setForceEncoding(true);
枚举集dispatcherTypes
=EnumSet.of(DispatcherType.REQUEST、DispatcherType.FORWARD、DispatcherType.ERROR);
FilterRegistration.动态字符编码
=servletContext.addFilter(“characterEncoding”,characterEncodingFilter);
characterEncoding.addMappingForUrlPatterns(dispatcherTypes,true,“/*”;
characterEncoding.setAsyncSupported(true);
}
}
但是没有结果。请告诉我如何为Spring5设置编码的现成解决方案。尝试使用SpringBeans
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter();
encodingFilter.setEncoding("UTF-8");
encodingFilter.setForceEncoding(true);
registrationBean.setFilter(encodingFilter);
registrationBean.addUrlPatterns("/*");
return registrationBean;
}
解决办法是:
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource source = new ResourceBundleMessageSource();
source.setBasename("i18n/messages");
source.setDefaultEncoding("UTF-8");
return source;
}
我只需要为i18n文件设置默认编码。谢谢,但这是关于Spring Boot的。你知道如何在没有它的情况下实现它吗?你在项目中使用maven或gradle吗?这可能不是Spring的问题。我使用gradle Projection没有帮助。你能发布你以前的答案吗?我试过这个,但对我不起作用。当我直接提交表格时,我仍然得到豆腐串。