T
Tine
Gast
Hallo,
Ic habe folgendes Problem, bei dem ich hoffe, dass mir ev. jem. helfen kann.
Ich verwende eine MySQL Database, in der ich Japanische Zeichen in SJIS speichere. Habe getestet ob die Zeichen auch wirklich in SJIS gespeichert werden und ob ich diese auch wieder ausgegeben kann. Sie werden es, zumindest bekomme ich bei einem Select Statement, dessen Ausgabe ich in eine Datei schreibe SJIS codierte Zeichen raus (ich mache das über DOS Eingabeaufforderung).
Ich verwende: mysql 4.1.3b-beta, mysql-connector-java-3.0.14, JBuilderX (jdk 1.4.2), und OS XP.
Ich habe auch das default character set von MySql von latin1 auf sjis geändert.
Wenn ich allerdings versuche auf die Daten über Java zuzugreifen, bekomme ich nur seltsame Zeichenketten raus. Immer ein Quadrat (als ob es das Font nicht kennen würde), dann irgendein Zeichen, dann wieder ein Quadrat usw. Habe auch einige lateinische Zeichen in der DB, die ich ohne weiteres ausgeben kann.
Ich kann sonst Japanische Zeichen ohne Probleme in Java darstellen, glaube also nicht, dass es an einem falschen Font liegt. Hab auch schon versucht die von Java geholten Zeichen in eine Datei auszugeben, bekomme dort aber auch nur die komischen Zeichenketten.
Mein Java Code sieht so aus:
Danke für jede Hilfe,
Chris
Ic habe folgendes Problem, bei dem ich hoffe, dass mir ev. jem. helfen kann.
Ich verwende eine MySQL Database, in der ich Japanische Zeichen in SJIS speichere. Habe getestet ob die Zeichen auch wirklich in SJIS gespeichert werden und ob ich diese auch wieder ausgegeben kann. Sie werden es, zumindest bekomme ich bei einem Select Statement, dessen Ausgabe ich in eine Datei schreibe SJIS codierte Zeichen raus (ich mache das über DOS Eingabeaufforderung).
Ich verwende: mysql 4.1.3b-beta, mysql-connector-java-3.0.14, JBuilderX (jdk 1.4.2), und OS XP.
Ich habe auch das default character set von MySql von latin1 auf sjis geändert.
Wenn ich allerdings versuche auf die Daten über Java zuzugreifen, bekomme ich nur seltsame Zeichenketten raus. Immer ein Quadrat (als ob es das Font nicht kennen würde), dann irgendein Zeichen, dann wieder ein Quadrat usw. Habe auch einige lateinische Zeichen in der DB, die ich ohne weiteres ausgeben kann.
Ich kann sonst Japanische Zeichen ohne Probleme in Java darstellen, glaube also nicht, dass es an einem falschen Font liegt. Hab auch schon versucht die von Java geholten Zeichen in eine Datei auszugeben, bekomme dort aber auch nur die komischen Zeichenketten.
Mein Java Code sieht so aus:
Code:
public void testDB(){
String result ="";
Connection con = null;
Statement st = null;
try
{
Properties prop = new java.util.Properties();
prop.put("user","");
prop.put("password","");
prop.put("useUnicode", "true");
prop.put("characterEncoding","SJIS");
String url = "jdbc:mysql://localhost/japanese";
//Class.forName ("org.gjt.mm.mysql.Driver");
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
con = DriverManager.getConnection (url, prop);
result= "Database connection established";
st = con.createStatement();
ResultSet rs = null;
String querry1 = "SELECT * FROM jp";
PreparedStatement pstmt = con.prepareStatement(querry1);
rs = pstmt.executeQuery();
int i = 0;
while (rs.next()) {
result = rs.getString(1);
jTable1.setFont(new Font("Arial Unicode MS",0,15));
jTable1.setValueAt(result,i,0);
i++;
}
}
catch (Exception e)
{
// result = "Cannot connect to database server";
}
finally
{
if (con != null)
{
try
{
con.close ();
// result ="Database connection terminated";
}
catch (Exception e) { /* ignore close errors */ }
}
}
}
Danke für jede Hilfe,
Chris