Zeichensatz-Fehler

jgh

Top Contributor
Hallo,

ich benutze eine MySql-DB und habe nun per jdbc in eclipse eine Verbindung zur DB hergestellt. Per SQL-Dump habe ich ein paar Tabellen hergestellt und mit Inhalten gefüllt. Ich kann auf die Tabellen, sowie die Daten problemlos aus eclipse zugreifen....ALLERDINGS ;):

wenn ich mir die Daten dann auf der Console anzeigen lasse...sind einige Buchstaben leider verkehrt, also die typischen wie "ü", "ß" usw.
in MySQL CommandLine Client werden sie mir korrekt angezeigt.
Ob ich den [c]System.setProperty("file.encoding", "UTF8" );[/c] aufrufe, oder auch nicht...es ändert nichts. :(
Auch in eclipse unter help->Preferences->General->Workspace habe ich mal UTF8 als FileEncoding angegeben...leider keine Auswirkung auf die Testausgabe auf der Console.

Habt ihr evtl ne Idee...wie man das fixen kann?

MfG
 

jgh

Top Contributor
mmmh, also evtl. noch ein paar Infos:
also ich habe mir die mysql-5.5.11-win32.msi runtergeladen und mit dem Installer auf meinem win7, 32 bit System installiert.
Also Connector nutze ich mysql-connector-java-5.0.8 aus eclipse heraus.
Für die Verbindung zur Datenbank nutze ich die folgende Klasse:
Java:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBConnect {
	private Statement statement;
	private Connection con;
	private ResultSet rs = null;

	public DBConnect() {
		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			con = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/derNamederDB", "user", "pw");
			statement = con.createStatement();
		} catch (InstantiationException e) {
			System.out.println("^1");
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			System.out.println("^2");
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			System.out.println("^3");
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			System.out.println("^4");
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public ResultSet doQuery(String query) {

		try {
			rs = statement.executeQuery(query);
			return rs;
		} catch (SQLException e) {
			e.printStackTrace();
			return rs;

		}

	}

über die MySQL Command Line Client erstelle ich bspw folgendes Table:
SQL:
mysql>create table test(testbuchstabe char(50));
Query OK, 0 rows affected(0.13 sec)

anschließend schreibe ich meine 1 Zeile in diese Tabelle (händisch):
SQL:
insert into test values('äÄöÖüÜß');
Query OK, 1 row affected (0.29 sec)

wenn ich dann aus eclipse heraus wie folgt auf die DB zugreife:
Java:
DBConnect db = new DBConnect();
		ResultSet rs = db.doQuery("Select * from test");
		try {
			while (rs.next()) {
					System.out.print(rs.getString("testbuchstabe")+"\t");
				System.out.println();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
bekomme ich auf der Console folgende Ausgabe:
„Ž”™?šá

und nun weiß ich nicht weiter...HILFE^^
 
Zuletzt bearbeitet:

jgh

Top Contributor
Danke erstmal für die Antwort...leider bekomme ich da folgende Ausgabe:

??????á

das problem müssten doch einige schon gehabt haben...
 
T

Tomate_Salat

Gast
Hatte ich fälschlicherweise so in Erinnerung. :-/ Hab mir jz mal die UTF-8-Tabelle angeschaut und du hast recht.
 

jgh

Top Contributor
danke für die tipps, aber leider führen die alle zum gleichen Ergebnis.

sowohl das
Code:
"?connectionCollation=utf8_general_ci"
als auch
Code:
?useUnicode=yes&characterEncoding=UTF-8
 

hansmueller

Bekanntes Mitglied
Hallo,

was für ein Zeichensatz ist den in der MySql-Datenbank eingestellt?
Wenn es ein anderer als UTF-8 ist, mußt du halt diesen für die Verbindung zu deiner DB mitgeben.

MfG
hansmueller
 

jgh

Top Contributor
Latin1 steht in der [c]my.ini[/c]

und das habe ich auch versucht... Ergebnis die gleiche SCHEISSE :(

oder wo und wie kann ich sehen, was für ein Zeichensatz meine DB benutzt?

Habe auch versucht, in der o.g. und unten gezeigten Datei die Zeichensatz auf UTF-8 zu ändern, dann kann ich mein PW bei der MySQLCommandLine Client noch eingeben...und dann schmiert mir die CommandLine ab :(

ich bin echt am verzweifeln...

[XML]# CLIENT SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by MySQL client applications.
# Note that only client applications shipped by MySQL are guaranteed
# to read this section. If you want your own MySQL client program to
# honor these values, you need to specify it as an option during the
# MySQL client library initialization.
#
[client]

port=3306

[mysql]

default-character-set=latin1


# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306


#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.5/"

#Path to the database root
datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

# The default character set that will be used when a new schema or table is
# created and no character set is defined
character-set-server=latin1[/XML]
 
Zuletzt bearbeitet:

hansmueller

Bekanntes Mitglied
Hallo,

schau dir mal diesen Link an:MySQL :: MySQL 5.1 Referenzhandbuch :: 10.9 Zeichensätze und Sortierfolgen, die MySQL unterstützt

Ich habe mit MySql bisher nur sehr wenig zu tun gehabt, aber wenn ich es richtig verstehe ist
Code:
latin1
gleichzusetzen mit
Code:
cp1252
.
Vielleicht funktioniert ja
Code:
?characterEncoding=cp1252

Vielleicht hilft dir dieser Link weiter: jdbc mysql: encoding von utf-8 nach latin1

MfG
hansmueller
 

jgh

Top Contributor
danke, das hatte ich leider auch schon versucht und kein Erfolg dabei.


Über jede Idee/Vorschlag oder auch sonst was...bin ich wirklich dankbar.

Mfg

EDIT:
ach...das haut auch nicht so hin :(
 
Zuletzt bearbeitet:

jgh

Top Contributor
falls es noch jemanden interessieren sollte:

ich habe jetzt mein Eclipse unter Windows-Preferences-General-Workspace-Text file encoding- auf utf8 gesetzt, im Java-Code [c] System.setProperty("file.encoding", "utf8");[/c] das File-Encoding nochmal explizit gesetzt und dann beim DriverManager.getConnection(....?characterEncoding=utf8

so kann ich mein sql-dump zumindest korrekt ausgeben und dann auch in die db schreiben...irgendwie nicht richtig, aber es funktioniert.

Fallls doch noch jemand eine Idee hat...jederzeit und immer gerne gesehen!

MfG
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Probleme mit entfernter DB und Hibernate Zeichensatz Datenbankprogrammierung 3
N Problem mit dem Zeichensatz oder so Datenbankprogrammierung 2
T Cast-Fehler: Spring Data exists.... boolean??? Datenbankprogrammierung 1
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
S @OneToMany @JoinTable failed to lazily initialize a collection Fehler Datenbankprogrammierung 2
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
das_leon MySQL Fehler bei der Zeitzone Datenbankprogrammierung 7
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
L SQL Fehler (Table/View does not exist) Datenbankprogrammierung 17
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
W Jackcess Fehler Datenbankprogrammierung 1
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
M Wo ist mein Fehler ? o: Datenbankprogrammierung 4
C H2 Syntax fehler beim erstellen einer Tabelle Datenbankprogrammierung 4
T JDBC Fehler Datenbankprogrammierung 2
Neumi5694 Java + MS Access + 64 Bit = Fehler -1073740777 Datenbankprogrammierung 2
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B JDBC Connection Fehler Datenbankprogrammierung 8
J Fehler bei mySQL Query Datenbankprogrammierung 19
D Oracle PLSQL Block Fehler Datenbankprogrammierung 11
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
S Fehler mit JdbcRowSet Datenbankprogrammierung 2
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
M PL/SQL Fehler "Kein Wert zurückgegeben" Datenbankprogrammierung 4
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
Crashbreaker MySQL MySQL - Hibernate gibt Fehler aus Datenbankprogrammierung 25
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
I Derby/JavaDB Update Fehler Datenbankprogrammierung 4
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
N Oracle Fehler Ungültiges Zeichen Datenbankprogrammierung 2
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
F hsqldb Fehler - unknown source Datenbankprogrammierung 11
E Fehler- Komme nicht auf Datenbank Datenbankprogrammierung 13
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
trash JDBC Einbinden Fehler Datenbankprogrammierung 9
B Fehler in Stored Procedure Datenbankprogrammierung 7
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
H Fehler bei null-Datum in MySQL-DB Datenbankprogrammierung 2
B SQL - Ich kann die Fehler nicht finden Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Update mysql Fehler ?? Datenbankprogrammierung 4
T Fehler im SQL ... Datenbankprogrammierung 8
J Fehler bei Hibernate Configuration Datenbankprogrammierung 9
N group by fehler Datenbankprogrammierung 4
P SQL Fehler helft mir bitte Datenbankprogrammierung 12
F Fehler bei Stored Function Datenbankprogrammierung 2
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
C Wo ist der Fehler? Datenbankprogrammierung 5
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
K Fehler bei Rückgabewerten Datenbankprogrammierung 3
M Statemend Fehler Datenbankprogrammierung 11
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
E Seltsamer Fehler Datenbankprogrammierung 10
T Fehler bei Verbindungsaufbau zu MySql DB Datenbankprogrammierung 4
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
A JDBC-Fehler "Objekt bereits geschlossen" Datenbankprogrammierung 4
O SQL-Query bringt Fehler Datenbankprogrammierung 4
B MySql DELETE Anweisung gibt Fehler zurück Datenbankprogrammierung 7
A Fehler beim Starten des Servers für H2 Database Datenbankprogrammierung 13
A Fehler in der HSQLDB Datenbankprogrammierung 6
B fehler bei select befehl Datenbankprogrammierung 5
G SQL fehler -> woran liegt das? Datenbankprogrammierung 3
M Odbc und Fehler Datenbankprogrammierung 44
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
D mySQL emullierte PreparedStatements haben Fehler unter Last Datenbankprogrammierung 3
F Fehler in Suns FilteredRowSet Implementierung? Datenbankprogrammierung 11
R Fehler in der Eingabe? Datenbankprogrammierung 3
J Fehler bei Oracle-Datenbankverbindung Datenbankprogrammierung 2
E JDBC Oracle Fehler, zugriff auf datenbank (Cluster) Datenbankprogrammierung 5
P Fehler: result-set zeigt auf null, aber warum Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
G Fehler beim Verbinden Datenbankprogrammierung 4
D Primary-Key -> Fehler: "Unique constraint violation& Datenbankprogrammierung 12
E Fehler in der SQL-Anweisung Datenbankprogrammierung 11
A Fehler in der Datenbankklasse Datenbankprogrammierung 14
M insert befehl funzt nicht!wo ist der fehler? Datenbankprogrammierung 5
N Fehler beim matchen von Strings via Query Datenbankprogrammierung 2
L komischer Fehler von ResultSet. Datenbankprogrammierung 2
R Fehler in Datenbankanbindung Servlet -> Access Datenbankprogrammierung 5
E Fehler bei String-Insert in MySQL-DB Datenbankprogrammierung 8
G Wo ist hier der Fehler (createStatement) Datenbankprogrammierung 2
M executeBatch() - Inserts trotz Fehler weitermachen Datenbankprogrammierung 5
W Fehler bei Insert Anweisung obwohl getestet Datenbankprogrammierung 3

Ähnliche Java Themen


Oben