プロが教えるわが家の防犯対策術!

JDK 1.6.0
MySQL 5.1
NetBeansのIDEツールを使用してSWINGのGUIアプリを勉強がてら作成しています。
JDBC接続でMYSQLにINSERTまではなんとかできましたが日本語を登録しようとすると文字化けが発生してしまいます。
登録結果:100006????????????0359210188????????????????????
この文字化けはJAVA、MYSQLのどちらで直すべきものでしょうか。
ちなみにMYSQLのMY.INIの下記の設定を変更してみましたがダメでした。
default-character-set=latin1⇒default-character-set=utf8

下記が登録時のソースです。よろしくお願いいたします。

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
String sSql = "";


// 1.JDBC Driver の登録
Class.forName("com.mysql.jdbc.Driver").newInstance();

// 2.データベースへの接続
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/MyNewDatabase", "root", "umemoto");

// 3.SQL ステートメント・オブジェクトの作成
Statement stmt = con.createStatement();
//
sSql += "INSERT INTO M_KAIIN (";
sSql += "NK_KAIIN";
sSql += ",NM_KAIIN";
sSql += ",NK_TEL";
sSql += ",NM_ADD";
sSql += ") VALUES (";
sSql += "'" + jTextField1.getText() + "'" ;
sSql += ",'" + jTextField2.getText() + "'" ;
sSql += ",'" + jTextField3.getText() + "'" ;
sSql += ",'" + jTextField4.getText() + "'" ;
sSql += ");" ;
//実行
stmt.execute(sSql);

// 6.データベースのクローズ
stmt.close();
con.close();

} catch (SQLException e1) {
System.out.println(
"SQLException: " + e1.getMessage());
System.out.println(
" SQLState: " + e1.getSQLState());
System.out.println(
" VendorError: " + e1.getErrorCode());
} catch (Exception e2) {
System.out.println(
"Exception: " + e2.getMessage());
}


}

A 回答 (1件)

phpMyAdminを使ってたら。

データベースを作成するときに照合順序とかで、utf8に設定できたと思います。それで、直った記憶があります。間違ってたらごめんなさい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!