Zeichenkodierungsproblem Frühling

Ich habe ein großes Problem mit der Kodierung meiner Website! Ich benutze Spring 3, Tomcat 6 und MySQL DB. Ich möchte Deutsch und Tschechisch zusammen mit Englisch auf meiner Website unterstützen. Ich habe alle JSPs als UTF-8-Dateien erstellt und in jedem JSP Folgendes angegeben:

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

Ich habe messages.properties (standardmäßig Tschechisch), messages_de.properties und messages_en.properties erstellt. Und alle von ihnen werden als UTF-8-Dateien gespeichert.

Ich habe Folgendes zu web.xml hinzugefügt:

<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>  

Und füge Folgendes zu meiner applicationContext.xml hinzu:

<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" />

Ich habe das useBodyEncodingForURI-Attribut im Element "server.xml" unter "% CATALINA_HOME% / conf" auf "true" gesetzt und auch ein anderes Mal versucht, stattdessen "URIEncoding =" UTF-8 "hinzuzufügen.

Ich habe alle Tabellen und Felder mit Zeichensatz [utf8] und Sammlung [utf8_general_ci] erstellt.

Die Kodierung in meinem Browser ist UTF-8 (BTW, ich habe IE8 und Firefox 3.6.3)

Wenn ich den MYSQL-Abfrage-Browser öffne und manuell tschechische oder deutsche Daten einfüge, werden diese korrekt eingefügt und auch in meiner App korrekt angezeigt.

Also, hier ist die Liste der Probleme, die ich habe:

Standardmäßig sollte die Datei messages.properties (Tschechisch) geladen werden, stattdessen wird standardmäßig die Datei messages_en.properties geladen.

Wenn ich im Webformular tschechische Daten eingebe und dann auf Senden klicke, drucke ich im Controller die Daten in der Konsole aus, um sie in der Datenbank zu speichern. Das, was gedruckt wird, ist nicht korrekt und enthält seltsame Zeichen. Dies sind die genauen Daten das spart zu db.

Ich weiß nicht, wo der Fehler ist! Warum kann ich es nicht zum Laufen bringen, obwohl ich das getan habe, was die Leute getan und für sie gearbeitet haben? weiß nicht ..

Bitte hilf mir, ich stecke seit Tagen in diesem beschissenen Problem fest und es macht mich verrückt!

Danke im Voraus

Antworten auf die Frage(6)

Ihre Antwort auf die Frage