2016-04-09 7 views
0

Ich möchte ein Sonderzeichen wie in eine Datenbank einfügen.Java MySQL: Sonderzeichen in Datenbank einfügen

Wenn ich es so tun, in dem Java-Code:

String message = "✪"; 
preparedStatement = connection.prepareStatement("INSERT INTO `messages` (`message`) VALUES (?)"); 
preparedStatement.setString(1, message); 
preparedStatement.executeUpdate(); 

Es fügt nur ein ? statt . Aber wenn ich den SQL-Befehl auf phpMyAdmin ausführen, funktioniert es gut und wird eingefügt.

Die Spalte message in der Datenbank ist vom Typ varchar(2048) und Kollation utf8_general_ci. Und die Textdateicodierung des Java-Projekts ist ebenfalls UTF-8.

+0

Haben Sie das versucht: http://StackOverflow.com/a/3836303/2779842? Dies sollte das Codierungsproblem beheben – Mathisca

+0

Vielen Dank! Ich muss skipt haben. Jetzt funktioniert es :) – user3621741

Antwort

0

Ich habe den Parameter ?characterEncoding=UTF-8 der JDBC URL hinzugefügt, wie @Mathisca darauf hingewiesen.