我爲我的Web應用程序使用SpringBoot和Spring MVC,當我提交任何表單時,我的控制器獲取用ISO-8859-1而不是UTF-8編碼的信息。SpringBoot - UTF8&Controller
我application.properties
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost/pfg
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.sqlScriptEncoding=UTF-8
spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect
spring.jpa.properties.jadira.usertype.autoRegisterUserTypes=true
spring.messages.encoding=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
我也有這個ServerInitializer類:
@Configuration
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(PfgApplication.class);
}
@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
CharacterEncodingFilter characterEncodingFilter() {
CharacterEncodingFilter filter = new CharacterEncodingFilter();
filter.setEncoding("UTF-8");
filter.setForceEncoding(true);
return filter;
}
}
感謝您的幫助。
這看起來對我很可疑。你使用什麼版本? Spring Boot 1.2有一個明確的故事,默認情況下,如果你使用嵌入式容器,它顯然是你應該的。順便說一下,該過濾器是爲您創建的。是什麼讓你認爲它完全是ISO-8859-1編碼的? – 2015-02-09 07:59:30