diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java index 6eb2ac944..6b51ebf8b 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/JacksonConfig.java @@ -10,12 +10,15 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration; +import org.springframework.boot.web.servlet.filter.OrderedCharacterEncodingFilter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.core.Ordered; import org.springframework.format.FormatterRegistry; import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import java.nio.charset.StandardCharsets; import java.time.format.DateTimeFormatter; import java.util.Locale; import java.util.TimeZone; @@ -67,4 +70,17 @@ public class JacksonConfig implements WebMvcConfigurer { registrar.registerFormatters(registry); } + /** + * 避免form 提交 context-type 不规范中文乱码 + * @return Filter + */ + @Bean + public OrderedCharacterEncodingFilter characterEncodingFilter() { + OrderedCharacterEncodingFilter filter = new OrderedCharacterEncodingFilter(); + filter.setEncoding(StandardCharsets.UTF_8.name()); + filter.setForceEncoding(true); + filter.setOrder(Ordered.HIGHEST_PRECEDENCE); + return filter; + } + }