Ich habe ein Projekt, wo ich einige Daten aus einer HTML-Datei schaben, in eine MySQL-Datenbank schreiben und sie dann erneut auslesen und dem Benutzer anzeigen. Immer wenn das Servlet etwas in die DB einfügt, wird das "£" -Zeichen als inserted eingefügt und beim Auslesen wieder als solches dargestellt.Debugging eines MySQL-Zeichensatzfehlers
Die Anwendung ist in Java (mit Spring) und JPA mit EclipseLink als JPA-Implementierung geschrieben.
Ich habe das Problem auf das Einfügen in MySQL eingegrenzt, seit wenn ich die Tabelle in der Konsole das Fragezeichen erscheint.
Ich habe konfiguriert MySQL
[mysqld]
default-character-set=utf8
UTF-8-Codierung als Standard in my.cnf verwenden, wenn ich
SHOW TABLE STATUS;
laufen kann ich sehen, daß die Kollation auf den Tischen ist
utf8_general_ci
was darauf hindeutet, dass der Zeichensatz auch UTF-8 ist.
Auch gibt es das: mysql> SHOW CREATE DATABASE Gate; So
+----------+---------------------------------------------------------------+
| Database | Create Database |
+----------+---------------------------------------------------------------+
| gate | CREATE DATABASE `gate` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)
, mit Java vollständig Unicode zu sein (?) Und meine DB gesetzt wird auf UTF-8, wo könnte ich für Fehlkonfigurationen/Fehler aus?