Java Spring MVC错误的UTF-8编码UTF-8
大家好。我使用Spring MVC和Hibernate创建了一个简单的web应用程序,但我在编码方面遇到了奇怪的问题。当我返回.jsp视图时,或者当我显示MySQL数据库中的信息时,这是可以的,但是当我试图用POST metod按表单放置新数据时,或者当我想显示Hibernate@Valid中的错误消息时,所有的字母,如“ł,ą…”等都会被一些字符替换Java Spring MVC错误的UTF-8编码UTF-8,java,spring,hibernate,spring-mvc,character-encoding,Java,Spring,Hibernate,Spring Mvc,Character Encoding,大家好。我使用Spring MVC和Hibernate创建了一个简单的web应用程序,但我在编码方面遇到了奇怪的问题。当我返回.jsp视图时,或者当我显示MySQL数据库中的信息时,这是可以的,但是当我试图用POST metod按表单放置新数据时,或者当我想显示Hibernate@Valid中的错误消息时,所有的字母,如“ł,ą…”等都会被一些字符替换 我试图强制响应编码: response.setCharacterEncoding("UTF-8"); 将属性添加到会话生成器: priva
response.setCharacterEncoding("UTF-8");
private Properties getHibernateProperties() {
Properties properties = new Properties();
properties.put("hibernate.show_sql", "true");
properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect");
properties.put("charSet", "utf-8");
return properties;
}
@Autowired
@Bean(name = "sessionFactory")
public SessionFactory getSessionFactory(DataSource dataSource) {
LocalSessionFactoryBuilder sessionBuilder = new LocalSessionFactoryBuilder(dataSource);
sessionBuilder.addProperties(getHibernateProperties());
sessionBuilder.addAnnotatedClasses(entity.User.class);
return sessionBuilder.buildSessionFactory();
}
FilterRegistration.Dynamic characterEncodingFilter;
characterEncodingFilter = servletContext.addFilter("encodingFilter",
new CharacterEncodingFilter());
characterEncodingFilter.setInitParameter("encoding", "UTF-8");
characterEncodingFilter.setInitParameter("forceEncoding", "true");
四,。在.jsp中添加标记:
<% response.setCharacterEncoding("utf-8"); request.setCharacterEncoding("utf-8"); %>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
额外信息:
我使用Tomcat7.0.76,我没有在那里设置任何东西,我的数据库使用UTF-8编码,和我的IDE一样。整个项目可以在
这也是我在stackoverflow上的第一篇帖子,所以我只想打个招呼。嗨!;)