• 締切済み

MySQLのblob型の日本語文字列を取得すると文字化けする

MySQLに接続し、Blob型の日本語データを取得したのですが、 文字化けしてしまいます。 new Stringを使っているのですが、うまくいきません。 今は以下のような流れになっております。 まずstr_orgにデータを格納して、次にnew Stringで変換してstr_chgに格納しております。 しかしstr_chgの文字列が文字化けしてしまいます。 何が原因か分かりますでしょうか? ちなみに現在は、my.confで[default-character-set=]の設定はは行なっておりません。 String url = "jdbc:mysql:///DATABASE?useUnicode=true"; String usr = args[0]; String pwd = args[1]; Srting key = args[2]; Connection con = DriverManager.getConnection(url,usr,pwd); PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT * from quote_hdr WHERE qh_id = ?"); pstmt.setString(1,key); rs = pstmt.executeQuery(); String str_org = rs.getString("qh_cmts"); String str_chg = new String(qh_cmts.getBytes("8859_1"));

みんなの回答

  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.1

即席のお答えで自信はありませんが、 String url = "jdbc:mysql:///DATABASE?useUnicode=true&chracterEncoding=Shift_JIS";等と String url にcharacterEncodingを追加しないと環境によっては文字化けする事があるようです。

関連するQ&A