MySQL Koreanische Schriftzeichen in MySQL Datenbank schreiben

sonyejin

Mitglied
Hallo zusammen,

zunächst einmal ein großes Lob an dieses Forum... war bislang nur stiller Mitleser und habe hier viele interessante Informationen und Lösungsvorschläge erhalten.

ich stehe nun auch vor einem Problem und weiss nicht weiter ( die Suchfunktion hat mir leider auch nichts gescheites ausgespuckt) und bitte daher um eine Hilfestellung :

Ich will über ein Java - Programm koreanische Schriftzeichen mittels PreparedStatements auf eine MySQL Datenbank schreiben... klappt auch soweit... Problem ist nur, dass die Zeichenkodierung fehlschlägt und ich nur ??? zu sehen bekomme... die Datenbank selber ist auf EUC-KR eingestellt und wenn ich direkt über einen SQL - Editor einen koreanischen Datensatz einfüge, dann wird dieser auch korrekt dargestellt.. über mein Java - Programm leider nicht... in Elipse selber werden die Zeichen ebenfalls korrekt angezeigt, wenn ich sie mir auf der Konsole ausgeben lasse... kann mir jemand helfen?

Danke im Voraus
 
M

maki

Gast
Ich will über ein Java - Programm koreanische Schriftzeichen mittels PreparedStatements auf eine MySQL Datenbank schreiben... klappt auch soweit... Problem ist nur, dass die Zeichenkodierung fehlschlägt und ich nur ??? zu sehen bekomme... die Datenbank selber ist auf EUC-KR eingestellt und wenn ich direkt über einen SQL - Editor einen koreanischen Datensatz einfüge, dann wird dieser auch korrekt dargestellt.. über mein Java - Programm leider nicht... in Elipse selber werden die Zeichen ebenfalls korrekt angezeigt, wenn ich sie mir auf der Konsole ausgeben lasse... kann mir jemand helfen?
Wie stellt dein Java Proramm denn die Einträge dar?
 

sonyejin

Mitglied
Hallo Maki,

ich hoffe, dass ich deine Frage richtig verstehe :

Mittels eines HTML - Parsers werden koreanische Zeichen in eine Arraylist<String> gespeichert... wenn ich diese zu Testzwecken ausgebe ( via System.out.println ( Arraylist.get(Index) ) werden die Einträge in der Konsole korrekt angezeigt.
 

hansmueller

Bekanntes Mitglied
Hallo,

bei der Darstellung von Zeichen z. B. in einem JLabel, muß man aufpassen, ob die Schrift, die für dieses JLabel verwendet wird auch das Zeichen darstellen kann. Ansonsten sieht man meist nur so ein komisches viereckiges Kästchen.
Die Klasse Font hat die Methoden .canDisplay() und .canDisplayUpTo().
Teste mal damit, ob die verwendete Schrift überhaupt koreanische Schriftzeichen enthält.

MfG
hansmueller
 

sonyejin

Mitglied
zunächst einmal danke für deine antwort hansmueller... allerdings ist der Lösungsvorschlag schon viel zu weit gedacht, weil ich noch gar keine GUI habe... mein Hautproblem besteht echt darin, dass die Datenbank einfach keine koreanischen Schriftzeichen aufnimmt...

ich habe jetzt folgende Sachen probiert :

1. Simple Insert Anweisung in Java geschrieben mit hart gecodeten Werten ---> ??? erscheinen in der Datenbank. Ich hatte daher die Befürchtung, dass Eclipse einfach keine koeranischen Zeichen erkennt... dem war aber nicht der Fall. Ich habe einem String ein koreanisches Zeichen zugewiesen und ausgegeben : Wird korrekt dargestellt. Wenn ich die sql Anweisung ausgebe, werden die koreanischen Schriftzeichen ebenfalls korrekt dargestellt.

2. Wenn ich direkt über den sql -editor bei myphpadmin Datensätze mit koreanischen Zeichen einfüge, werden diese auch korrekt dargestellt.

Daher meine Schlussfolgerung : MySQL Datenbank ist richtig konfiguriert... Elipse kommt mit der Kodierung während des Schreibens nicht klar... aus welchem Grund auch immer... bin langsam am Verzweifeln
 

hansmueller

Bekanntes Mitglied
Hallo,

kannst du die Datenbank nicht einfach auf UTF-8 einstellen?
EUC-KR soll schon etwas aus der Mode sein (Quelle: Wikipedia).

Und mit UTF-8 sollte Java keine Probleme haben.

MfG
hansmueller
 

sonyejin

Mitglied
@hansmueller: Danke für den Hinweis... ich hatte es auch auf UTF-8 umgestellt, was leider nichts gebracht hat... bevor ich dann nach langer Google Suche auf die Lösung gestoßen bin :

Man kann der JDBC connection noch parameter übergeben ... so hats bei mir nun geklappt :

jdbc:mysql://localhost/meineDB?useUnicode=yes&characterEncoding=UTF-8 :applaus:

Ich bedanke mich für trotzallem für die Lösungsvorschläge :toll:
 
G

Gast2

Gast
[DUKE]url += "?connectionCollation=utf8_general_ci";[/DUKE]

Java:
			String url = "jdbc:mysql://" + Server + "/" + Datenbank;
			url += "?connectionCollation=utf8_general_ci";
			System.out.println("Verbindung zur DB via '" + url + "'");
			connection = DriverManager.getConnection(url, Benutzer, Passwort);
			System.out.println(" - Verbindung hergestellt");

Edith: warst schneller :)
 

sonyejin

Mitglied
trotzdem danke @ mogel :D

Ich habe den Thread aber wieder "geöffnet", weil ich schon wieder Probleme mit den Schriftzeichen habe :shock:

Allerdings habe ich nun keine Probleme mehr mit dem Schreiben in die Datenbank...dafür aber ein anderes Problem und ich weiss ehrlich gesagt auch nicht, ob es zum Thema "Datenbankprogrammierung" gehört... wenn ein Mod meint, dass es hier nicht hingehört, dann bitte verschieben , Danke.

Folgendes Problem :

Ich habe eine Methode in einer Bean geschrieben ( public Vector<Player> getPlayer(String suche) ) , die via einer Select Anweisung nach einem bestimmten Namen sucht ( SELECT * from soundso WHERE name=' "+suche +" ' ) .... diese Methode wird in der jsp aufgerufen und der Suchstring wird über ein Textfeld ( <input type text ) übergeben....

das Problem ist nun, dass der koreanische Suchstring "gebrochen" dargestellt wird und die select-anweisung damit nichts anfangen kann ... wenn ich in die Methode direkt nen koreanischen Suchbegriff reinschreibe, klappt es einwandfrei... es klappt also nur nicht über das Textfeld
 

sonyejin

Mitglied
Mit "gebrochen" meinte ich kryptisch ... statt koreanischer Zeichen werden irgendwelche Sonderzeichen ( so in etwa :" ë¥?í??ì§? " ) dargestellt, aber ich kann mit Freude mitteilen, dass ich nach langem "Durchprobieren" die Lösung gefunden habe :

Das Hinzufügen der Zeile " request.setCharacterEncoding("UTF-8");" in die JSP UND die Änderung der Form method von "GET" in "POST" haben es zum Laufen gebracht... ich habe zwar keine Ahnung, warum es nur so funktioniert , aber Hauptsache es funktioniert nun :bahnhof:

Vielleicht kann mir ja trotzdem jemand erklären, warum es so klappt
 
G

Gast2

Gast
Versuch es mal mit einem PreparedStatement anstatt Strings zu einem Querystring zusammen zuverketten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin Java und MySQL MariaDB - WHERE-Klausel Datenbankprogrammierung 17
W MySQL-Connector funktioniert nicht über WLAN -> MacOS Datenbankprogrammierung 10
Juelin MySQL Datenbankmit glassfish und Netbeans Datenbankprogrammierung 18
Auf MySql Datenbank zugreifen funktioniert nicht Datenbankprogrammierung 8
TheSkyRider MySQL Datenbankzuordnung in Verbindung mit Java Datenbankprogrammierung 7
Warum funktioniert MySQL nicht Datenbankprogrammierung 8
M MySQL Datenbank in Array Datenbankprogrammierung 2
P MySQL- Neues Passwort Datenbankprogrammierung 1
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
sserio SQL oder MySQL Datenbankprogrammierung 44
OnDemand Mysql Query Builder Datenbankprogrammierung 1
Z MySQL "Too many connections" auch nach schliessen der Connections. Datenbankprogrammierung 10
yakazuqi MySQL MySQL Connection reset Datenbankprogrammierung 7
OnDemand MySql Foreign Key nötig oder unnötig Datenbankprogrammierung 3
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
W MYSQL Datenbank Login Android Datenbankprogrammierung 3
OnDemand MySQL und mongoDB wann macht was Sinn? Datenbankprogrammierung 11
bueseb84 Spring Boot : Update Mysql Datenbank Datenbankprogrammierung 1
Avalon Attribute werden mit Unterstrich in eine MySQL Datenbank eingetragen Datenbankprogrammierung 10
D MYSQL goorm IDE - Wie speichern? Datenbankprogrammierung 0
OnDemand Mysql UPDATE if condition Datenbankprogrammierung 14
D MySQL Geburtsdatum per KW abfragen Datenbankprogrammierung 1
C Java MySQL check if value exists in database Datenbankprogrammierung 2
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
J MySQL - Primary Key Date,Time vs ID Datenbankprogrammierung 16
ruutaiokwu MySQL: Messwerte, welche stagnieren interpolieren? Datenbankprogrammierung 2
S Datenbank MySQL und Java Datenbankprogrammierung 8
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
P Adressadministration mit Java und mySQL Datenbankprogrammierung 14
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
J MySQL MySQL Risiken bei Stromausfall minimieren Datenbankprogrammierung 9
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
H MySQL MySQL - Keine Verbindung zur Datenbank?! Datenbankprogrammierung 4
G MySQL Problem mit MySQL verbindung Datenbankprogrammierung 8
X MySQL Java hat keinen Zugriff auf MySQL Datenbankprogrammierung 9
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
D MySQL Connection richtig herstellen. Wie ? Datenbankprogrammierung 7
D Multiple Connection mit MySQL Datenbankprogrammierung 4
D MySQL Eibinden des "mysql-connector" in eine fertige Jar Datenbankprogrammierung 3
L MySQL Android zu externer MySQL Datenbank verbinden Datenbankprogrammierung 5
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
D MySQL Zeilen kumulieren Datenbankprogrammierung 8
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
K Servlet-MySQL DB Datenbankprogrammierung 2
X MySQL Json String in MySQL einfügen. Datenbankprogrammierung 20
OnDemand Update auf Mysql läuft nicht durch Datenbankprogrammierung 30
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
D Datumsformat aus MySQL ändern Datenbankprogrammierung 15
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
K MySQL LAN-MySQL Server mit XAMPP Datenbankprogrammierung 2
R ERModel der Datebanken (ORACLE,MySQL,MS-SQL usw) Datenbankprogrammierung 4
X MySQL In MySQL Funktionen erstellen, wenn Zelle leer dann andere Zelle ändern? Datenbankprogrammierung 9
K Anfängerfrage CSV in MySQL Datenbankprogrammierung 41
I MySQL Wert nachträglich bearbeiten Datenbankprogrammierung 1
N MySQL Datenbank lokal Datenbankprogrammierung 3
B MySQL: Port ändern über GUI? Wo und wie Port ändern? Datenbankprogrammierung 0
B MySQL installieren - silent / User anlegen Datenbankprogrammierung 3
X MySQL Verbindungdsaufbau MySql auf Ubuntu-Server Datenbankprogrammierung 10
F MySQL Wie kann ich in Java Datensätze aus einer MySQL Datenbank gezielt in einzelne Arrays schreiben? Datenbankprogrammierung 9
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
M MySQL MySQL DATETIME-Import Datenbankprogrammierung 9
P MySQL Connection Global Datenbankprogrammierung 13
J mySQL- Java Application - Zugriff über Internet Datenbankprogrammierung 3
P MySQL-Verbindung in anderer Klasse nutzen Datenbankprogrammierung 2
D JavaFX Anwendung zugriff auf MySQL DB. Datenbankprogrammierung 2
D MySQL Grundsätzliche Fragen zu MySQL Datenbankprogrammierung 3
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
M In MySql Datenbank schreiben Datenbankprogrammierung 6
D mySQL Timestamp in RegularTimePeriod bzw Second Datenbankprogrammierung 3
H SHOW Tables in Java/MySQL Datenbankprogrammierung 8
windl MySQL und HSQLDB Datenbankprogrammierung 4
S Anbindung zur mysql von mit Swing und AWT Datenbankprogrammierung 22
F MySQL+ Netbeans: Datenbanken mit Automatisch generierten Entity Classes get und set Datenbankprogrammierung 2
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
C MYSQL kann wert nicht eintragen Datenbankprogrammierung 3
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
F BPlaced MySql Datenbank ansprechen Datenbankprogrammierung 5
S MySQL MySQL will einfach nicht, bitte um Rat Datenbankprogrammierung 4
M MySQL Datenbank durchsuchen Datenbankprogrammierung 5
Z MySQL mysql Facharbeit: Tipps und Ideen gesucht Datenbankprogrammierung 5
dat_vin JavaFX Datenbankverbindung über JPA und MySQL Error Datenbankprogrammierung 0
K MySQL Datenbank 2facher Zugriff Datenbankprogrammierung 1
Z MySQL Shopsystem mit mysql und Java Datenbankprogrammierung 8
S [MySQL] Topliste Datenbankprogrammierung 2
H Datenbank-Anbindung Java/MySQL Datenbankprogrammierung 2
T MySQL MySQL - Insert into fügt zwei identische Datensätze ein Datenbankprogrammierung 2
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
J Dateien in MySQL speichern & indizieren Datenbankprogrammierung 2
B MySQL MySQL-Abfrage von aufsummierter Zeit Datenbankprogrammierung 3
K MySQL Datenbankbackups Datenbankprogrammierung 5
P MySQL INSERT / UPDATE MySQL - perStoredProcedure oder direkt im Code Datenbankprogrammierung 3
kaoZ HyperSQL vs. MYSQL Datenbankprogrammierung 4
L JSONArray/JSONObject MySQL-Servlet Abfrage Datenbankprogrammierung 2
V Internationalization mit MySql Datenbankprogrammierung 1
K Adressverwaltung mit MySql und Java? Datenbankprogrammierung 11
M Java Mysql verbinden Datenbankprogrammierung 3
L Zugriff auf lokal gespeicherte mySQL Datenbank Datenbankprogrammierung 3

Ähnliche Java Themen


Oben