2011-05-19 24 views
10

Todas mis tablas en el esquema están configuradas en UTF-8 como el juego de caracteres predeterminado, pero no puedo obtener Hibernate insertar correctamente los símbolos como "é" o "ñ" (son insertado como "Ã ©" o "Ã ±").MySQL UTF8 con Hibernate 3 y Spring

Mi configuración es la siguiente:

<bean id="dataSource" 
    class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="url" value="${db.url}"></property> 
    <property name="username" value="${db.user}"></property> 
    <property name="password" value="${db.password}"></property> 
    <property name="driverClassName" value="${db.driver}"></property> 
</bean> 
<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
    <property name="dataSource" ref="dataSource"></property> 
    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.connection.useUnicode">true</prop> 
      <prop key="hibernate.connection.characterEncoding">UTF-8</prop> 
      <prop key="hibernate.connection.charSet">UTF-8</prop> 
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop> 
      <prop key="hibernate.show_sql">true</prop> 
     </props> 
    </property> 

He intentado añadir useUnicode = true & characterEncoding = UTF-8 a la dirección URL de conexión, pero sin resultados ... ¿Alguna idea?

+0

Escribí un artículo sobre esta configuración aquí: http://www.reweb.com.ar/novedades/notas/utf-8-en-tomcat-6-0-spring-3-hibernate3-y- mysql –

Respuesta

7

Resuelto, no era un problema de Hibernate, Tomcat no estaba configurado para codificar solicitudes entrantes como UTF-8.

+0

En cuanto a la configuración de Tomcat que mencionas, ¿qué hiciste realmente? URIEncoding = "UTF-8" en server.xml? – Ricardo

+0

Lo hice, también agregué un org.springframework.web.filter.CharacterEncodingFilter a web.xml .. –

+0

¿Cómo resolvió esto exactamente? ¿Gracias? – TheOnlyIdiot

0

Después de agregar la codificación de hibernación, no funcionó, pero funcionó después de agregar la codificación a nivel de página.

IT funcionó después de agregar la codificación en la página jsp Lo agregué en la página jsp.