Hallo,
wenn ich meine Applikation via mvn deploye, wird durch die Hibernate-Einstellungen (siehe unten) jedes mal die DB neu initialisiert. Die Befehle stehen in der import.sql. Leider werden dabei Umlaute nicht gespeichert.
Das Merkwürdige: die Anwendung selbst speichert die Umlaute in der DB. Nur bei der Initialisierung klappt das nicht.
[XML]<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="primary" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/kds</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.use_sql_comments" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
</persistence>[/XML]
[XML]<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding> <!-- vorher: ISO-8859-1 -->
</configuration>
</plugin>[/XML]
Gruß,
Raphalon
wenn ich meine Applikation via mvn deploye, wird durch die Hibernate-Einstellungen (siehe unten) jedes mal die DB neu initialisiert. Die Befehle stehen in der import.sql. Leider werden dabei Umlaute nicht gespeichert.
Das Merkwürdige: die Anwendung selbst speichert die Umlaute in der DB. Nur bei der Initialisierung klappt das nicht.
- In eclipse ist eigentlich alles korrekt eingestllt. Das Text file encoding für den Workspace ist Cp1252.
- Unter Preferences > Content Types gibt es kein SQL - File, für das ein Encoding eingestellt werden könnte.
- Für die Datei import.sql ist der Default ("inherited from container: UTF-8") eingestellt.
- da ich mvn verwende, habe ich als Zeichensatz auch UTF-8 eingestellt - siehe unten das pluginManagement
- wenn ich die DML - Befehle manuell z.B. in phpMyAdmin ausführe, werden auch die Umlaute gespeichert
- für die DB ist eingstellt: MySQL-Zeichensatz: UTF-8 Unicode (utf8)
- der Zeichensatz / Kollation der MySQL-Verbindung ist "utf8-general-ci"
- an Hibernate kann es eigentlich auch nicht liegen, weil die Anwendung selbst ja die Umlaute speichert
- ich habe auch schon die DB neu aufgesetzt.
[XML]<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="primary" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/kds</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="hibernate.use_sql_comments" value="true" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
</persistence>[/XML]
[XML]<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding> <!-- vorher: ISO-8859-1 -->
</configuration>
</plugin>[/XML]
Gruß,
Raphalon