Uzyskiwanie znaków zapytania podczas wstawiania znaków hebrajskich do tabeli MySQL
Używam Netbeansa do budowania aplikacji internetowej przy użyciu Java, JSP, która obsługuje bazę danych z polami hebrajskimi.
DDL wygląda następująco:
String cityTable = "CREATE TABLE IF NOT EXISTS hebrew_test.table ("
+"id int(11) NOT NULL AUTO_INCREMENT,"
+"en varchar(30) NOT NULL,"
+"he varchar(30) COLLATE utf8_bin NOT NULL,"
+"PRIMARY KEY (id)"
+") ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1;";
String insert = "INSERT INTO hebrew_test.table (en, he) VALUES ('A','a')";
String insert2 = "INSERT INTO hebrew_test.table (en, he) VALUES ('B','ב')";
String insert3 = "INSERT INTO hebrew_test.table (en, he) VALUES ('C','אבג')";
executeSQLCommand(cityTable);
executeSQLCommand(insert);
executeSQLCommand(insert2);
executeSQLCommand(insert3);
Tabela wyników otrzymuję:
1 A a
2 B ?
3 C ???
Zamiast:
1 A a
2 B ב
3 C אבג
próbowałemHebrajski pojawia się jako znak zapytania w Netbeans, ale to nie jest ten sam problem. Dostaję znaki zapytania w tabeli.
Zdefiniowałem także tabelę, która ma byćUTF8_bin
jak widać w powyższym kodzie.