2016-06-02 10 views
0

Im mit JPA mit EclipseLink, um eine Verbindung zu meinem mySQL db. Ich schreibe utf-8 Text und ich kann bestätigen, dass es mit der richtigen Kodierung geschrieben wird, indem ich die Daten von MySQL Workbench abfrage. Aber, wenn ich die Daten von meiner Java-Konsolenanwendung abrufe, ist die Kodierung falsch.JPA mit EclipseLink: Entschlüsselung Zeichensatz Problem

Ich habe versucht, der Verbindungs-URL characterEncoding hinzuzufügen, aber kein Glück!

<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/testdb?useUnicode=yes&amp;characterEncoding=UTF-8&amp;characterSetResults=UTF-8&amp;"/> 

Irgendwelche Vorschläge?

+0

Um Hilfe zu erhalten, müssen Sie den Code einfügen, der den Datenabruf durchführt. Und was ist die Datencodierung, die von der Konsolenanwendung zurückgegeben wird? –

Antwort

0

Der Datentyp meiner Datenbank war JSON, also änderte ich es in mediumtext CHARSET utf8 und es funktionierte, d. H. Ich habe die Daten mit der richtigen Codierung zurück. Von MySQL documentation JSON Datentyp wird in UTF8mb4 gespeichert, so dass ich immer noch nicht weiß, warum es nicht mit dem JSON-Datentyp arbeiten würde. Außerdem glaube ich nicht, dass dies ein Problem mit mysql ist, da ich die Daten in Workbench lesen kann und die richtige Kodierung hat. Meine einzige Vermutung ist, dass da JSON-Datentypen ziemlich neu sind, dort ein Bug mit der mysql/JPA-Integration ist.

Verwandte Themen