Resorte del problema de codificación de caracteres

¡Estoy atrapado en un gran problema con la codificación en mi sitio web! Uso spring 3, tomcat 6 y mysql db. Quiero admitir alemán y checo junto con inglés en mi sitio web, creé todos los JSP como archivos UTF-8, y en cada jsp incluyo lo siguiente:

<%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Creé messages.properties (el valor predeterminado es checo), messages_de.properties y messages_en.properties. Y todos ellos se guardan como archivos UTF-8.

Agregué lo siguiente a web.xml:

<filter>
    <filter-name>encodingFilter</filter-name>
    <filterclass>
          org.springframework.web.filter.CharacterEncodingFilter</filterclass>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
 </filter>

 <locale-encoding-mapping-list>
    <locale-encoding-mapping>
        <locale>en</locale>
        <encoding>UTF-8</encoding>
    </locale-encoding-mapping>
    <locale-encoding-mapping>
        <locale>cz</locale>
        <encoding>UTF-8</encoding>
    </locale-encoding-mapping>
    <locale-encoding-mapping>
        <locale>de</locale>
        <encoding>UTF-8</encoding>
    </locale-encoding-mapping>
</locale-encoding-mapping-list>

 <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>  

Y agregue lo siguiente a mi applicationContext.xml:

<bean id="messageSource"    
    class="org.springframework.context.support.ResourceBundleMessageSource"
    p:basenames="messages"/>

<!-- Declare the Interceptor -->
<mvc:interceptors>    
    <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"
          p:paramName="locale" />
</mvc:interceptors>

<!-- Declare the Resolver -->
<bean id="localeResolver"  
       class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />

Establecí el atributo useBodyEncodingForURI en verdadero en el elemento de server.xml bajo:% CATALINA_HOME% / conf, también en otro momento intenté agregar URIEncoding = "UTF-8" en su lugar.

Creé todas las tablas y campos con charset [utf8] y colección [utf8_general_ci]

La codificación en mi navegador es UTF-8 (BTW, tengo IE8 y Firefox 3.6.3)

Cuando abro el navegador MYSQL Query e inserto manualmente datos checos o alemanes, se están insertando correctamente y también se muestran correctamente en mi aplicación.

Entonces, aquí está la lista de problemas que tengo:

De forma predeterminada, se deberían cargar messages.properties (checo), en su lugar se cargará messages_en.properties de forma predeterminada.

En el formulario web, cuando ingreso datos checos, luego hago clic en enviar, en el controlador imprimo los datos en la consola antes para guardarlos en db, lo que se imprime no es correcto con caracteres extraños, y estos son los datos exactos que ahorra a db.

¡No sé dónde está el error! ¿Por qué no puedo hacerlo funcionar aunque hice lo que la gente hizo y trabajé para ellos? no se ..

Por favor, ayúdame, estoy atrapado en este problema horrible desde hace días, ¡y me vuelve loco!

Gracias de antemano.

Respuestas a la pregunta(3)

Su respuesta a la pregunta