mysql:8711
From: きたぢま <きたぢま <kitajima@xxxxxxxxxx>>
Date: Thu, 05 Feb 2004 17:18:56 +0900
Subject: [mysql 08711] Re: JDBC での SELECT で日本語が文字化けする
これは[Tanaka]様が[04/02/05 16:53:14]に送信された、 [[mysql 08709] Re: JDBC での SELECT で日本語が文字化けする]の返信です。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ きたぢまです。 Javaの文字コードエンコーディングの問題でなければ、高橋(智)さんのおっしゃ る通りJDBCドライバーの問題です。(私の経験上、文字化け問題原因はこの2種類 でした…) 高橋(智)さんのJDBCドライバ日本語対応度はほぼ完全!?だと思います。使ってみ て検証してみてください。ただし、接続の仕方が若干違いますのでご注意を。 PS:高橋(智)さん、JDBCドライバー日本語対応化ありがとうございます。 Tanaka> Tanaka>  ̄ ̄ ̄ ̄ ̄ ̄ Tanaka> > きたぢまです。 Tanaka> Tanaka> tanakaです。早速の回答有難うございます。 Tanaka> Tanaka> > Tanaka> > Java自身が内部でUTF-8で保持していることが基準で、出力時に不正にエンコー Tanaka> > ドされることが原因かもしれません。 Tanaka> > getString()で以下のように変換してみてください。 Tanaka> > Tanaka> > String ret = new String(rs.getString("depart").getBytes("8859_1"), Tanaka> "JISAutoDetect"); Tanaka> > System.out.print(ret); Tanaka> > Tanaka> Tanaka> お教え頂いたように修正して実行してみたのですが日本語が化けて表示されてしまい Tanaka> ました。 Tanaka> try { Tanaka> String ret = new String(rs.getString("depart").getBytes("8859_1"), Tanaka> "JISAutoDetect"); Tanaka> System.out.println("ret = " + ret); Tanaka> } catch(UnsupportedEncodingException e) { Tanaka> System.out.println(e); Tanaka> } Tanaka> 結果: Tanaka> ret = ???? Tanaka> Tanaka> 何かございましたら再度アドバイスお願い致します。 Tanaka> きたぢま <kitajima@xxxxxxxxxx> 日本MySQLユーザ会 http://www.mysql.gr.jp/ ━━━━────────────────────────────
8705 2004-02-05 13:42 ["Tanaka" <gofrebelde] JDBC での SELECT で日本語が文字化けする 8706 2004-02-05 14:12 ┣[きたぢま <kitajima@x] 8709 2004-02-05 16:53 ┃┗["Tanaka" <gofrebelde] -> 8711 2004-02-05 17:18 ┃ ┗[きたぢま <kitajima@x] 8708 2004-02-05 15:14 ┗["TAKAHASHI, Tomohiro] 8712 2004-02-05 17:29 ┗["Tanaka" <gofrebelde] 8713 2004-02-05 17:45 ┗["TAKAHASHI, Tomohiro] 8714 2004-02-05 19:45 ┗["Tanaka" <gofrebelde]