Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC错误的UTF-8编码UTF-8_Java_Spring_Hibernate_Spring Mvc_Character Encoding - Fatal编程技术网

Java Spring MVC错误的UTF-8编码UTF-8

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

大家好。我使用Spring MVC和Hibernate创建了一个简单的web应用程序,但我在编码方面遇到了奇怪的问题。当我返回.jsp视图时,或者当我显示MySQL数据库中的信息时,这是可以的,但是当我试图用POST metod按表单放置新数据时,或者当我想显示Hibernate@Valid中的错误消息时,所有的字母,如“ł,ą…”等都会被一些字符替换

  • 我试图强制响应编码:

     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();
            }
    
  • 3.将筛选器添加到servlet:

    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上的第一篇帖子,所以我只想打个招呼。嗨!;)