Unknown initial character set index ... received from server

RipdEaTh

Mitglied
Hi Leute!

Ich bin gerade dabei für ein PHP-Projekt ein Tool zu entwerfen.
Das PHP - Projekt benutzt eine MySQL Datenbank und das Tool soll auf diese Datenbank zugreifen können. Es soll dort nachher Daten manipulieren.

Soweit so gut, dass Tool funktioniert... Fast!
Wenn ich die Datenbank mithilfe des Tools winmysqlAdmin.exe starte, dann läuft alles wunderbar. Das Tool connected gegen die Datenbank und führt auch alle Anweisungen durch..

Sobald ich aber die Datenbank mit dem gesamten Projekt starte, läuft das Tool nicht mehr.
Problem dabei wird sicherlich sein, dass das PHP-Projekt mithilfe von Xampp über Eclipse gestartet wird.

Wenn ich dann versuche mit dem Tool dagegen zu verbinden, bekomme ich folgende Fehlermeldung und Exceptions:

Error beim Verbinden zur Datenbank: Unknown initial character set index '48' received from server. Initial client character set can be forced via the 'characterEncoding' property.
java.sql.SQLException: Unknown initial character set index '48' received from server. Initial client character set can be forced via the 'characterEncoding' property.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.Connection.configureClientCharacterSet(Connection.java:2345)
at com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:3913)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2683)
at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at de.bmiag.OPTerminTool.DBConnection.setConnection(DBConnection.java:29)
at de.bmiag.OPTerminTool.OPTerminTool.main(OPTerminTool.java:11)


Die Methode zum Verbinden sieht wie folgt aus:

Code:
	public boolean setConnection() {
		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			
			//ivConn = DriverManager.getConnection("jdbc:mysql://" + ivHost + ":" + ivPort + "/" + ivDB + "?user=" + ivUser + "&password=" + ivPass);
			ivConn = DriverManager.getConnection("jdbc:mysql://" + ivHost + ":" + ivPort + "/" + ivDB, ivUser, ivPass);
			
			return true;
		} catch (Exception e) {
			reset();
			
			System.out.println("Error beim Verbinden zur Datenbank: " + e.getMessage().toString());
			e.printStackTrace();
			
			return false;
		}
	}

Ich hab schon ein wenig dazu gegoogelt und bin darauf gestoßen, dass dies wohl ein Bug sein soll und wohl etwas mit dem Zeichensatz zu tun hat. Es wird wohl also so sein, dass Xampp die Datenbank mit einem anderen Zeichensatz startet.

Habt ihr damit schon Erfahrungen gemacht und vll sogar dieses Problem schon behoben?
Würde mich freuen, wenn mir jemand versucht zu helfen :)


Liebe Grüße!



/E: Hab das Problem gelöst. Es gibt im neusten Treiber einen Bug, der im Download noch nicht behoben ist. Nach Umstellung auf einen älteren JDBC Treiber läuft es einwandfrei.
 
Zuletzt bearbeitet:
Zurück