Zum Inhalt springen

Zeichensatz - UTF8


DonUschi

Empfohlene Beiträge

Moin,

ich habe sehr merkwürdige Probleme mit der Codierung.

Zwei Szenarien:

1. Unter Eclipse wird mit JUnit OpenEJB und Hibernate getestet. Hier läuft alles Glatt. In der Datenbank stehen umlaute und "ß" die wir aus ner import.sql da reinbringen. Abfragen mit suche nach diesen String funktionieren ebenso. (Enthält auch in den Javaklassen "ß" und Umlaute)

2. Maven Startet diese Tests. In der Datenbank steht Kuddelmuddel. Die Abfragen aus der DB knallen. Nun habe ich herausgefunden, dass man ausser einen eigenen HibernateDialect keine Zeichencodierung einstellen kann in Hibernate.

Fragen:

Warum zum Geier funktionierts dann unter Eclipse so prächtig?!

Gibt es vielleicht doch eine ganz einfache Configuration von Hibernate?

Seht ihr neben Hibernate andere Stellen die konfiguriert werden müssten?

(Maven Compiler und Resource Plugins nutzen schon UTF-8 encoding - daran liegt es nicht)

Gruß,

Uschi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am Ende des Tages ein paar zustäzliche Infos:

OracleXE hat nun intern UTF-8.

Passend zu der Wunderlichen Tatsache, dass die gleichen Tests über Eclipse funktionieren, bei einem Maven install nicht, hat das nichts gebracht.

Nun wollte ich tricksen und in Eclipse die Datenbank füllen lassen. Wenn ich danach "hibernate.hbm2ddl.auto" auf "validate" statt auf "create" setze, dachte ich mir: "Ha!, Datenbank richtig gefüllt, dann können die SQL Querys auch was zurück geben."

Pustekuchen. Nun bekomm ich die Exception:

org.apache.openejb.OpenEJBException: Creating application failed: classpath.ear: javax.persistence.PersistenceException: [PersistenceUnit: UserPU] Unable to build EntityManagerFactory: [PersistenceUnit: UserPU] Unable to build EntityManagerFactory

Caused by: org.hibernate.HibernateException: Wrong column type in USER.TABLE for column COLUMN. Found: number, expected: NUMERIC(10,2)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schuldig ist definitiv Hibernate. Eine OracleXE mit UTF-8 hats nicht gebracht.

Die Datenbank lässt sich aus dem Programmcode über Hibernate in Eclipse wie auch Maven korrekt Befüllen.

Einzig und allein beim Ausführen von Maven, wenn Maven oder Hibernate nach *.sql Dateien im Resource-Verzeichnis suchen um die Datenbank damit zu befüllen gibt es einen Zeichenkodierungsfehler.

Da kann doch nun bestimmt jemand Infos zu geben =)

Das problem ist ja nun gut eingekreist ^^

GutenachtGruß,

Uschi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst beim start einer jeder beliebeigen Java anwendung auch den Zeichensatz angeben. Dies geschieht mittels -D anweisung beim Programmstart. Es kann sein, das Eclipse das automatisch erkennt. Bin mir da aber nicht sicher. Das ist auf jeden fall der Ansatz, nach dem du suchen solltest.


-Dfile.encoding=UTF-8

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe das Encoding von Eclipse schon auf UTF-8 gestellt. In den Properties der *.sql steht dann auch UTF-8. Beliebig änderbar. Maven hab ich ja auch das kopieren der Resourcen und den Compiler auf UTF8 gestellt. Kann also nur openejb-hibernate sein. was anderes bleibt nicht übrig. Hibernate sucht doch in den Resourcen nach *.sql Files oder tut das der Container(openEJB)?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...