[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00014] Re: データベースからの得たデータの文字コード変換



えんどうです。

MySQL の上では EUC-JP のようですが、JDBC 内部は Unicode に変換されます。

Resultset#getString(カラム名) で取得した文字は
Unicode になっていると思います。

このまま System.out.println() でコンソール表示すると、
OSの Locale にしたがって表示されるはずです。

LANG=ja_JP.eucJP なら EUC で表示されるはずです。

> このEUC文字列をSJISに変換するソースコードは
> String sound = new String(sound_e.getBytes("SJIS"), "EUC_JP");
> で文字コード変換するのですがこれを
> System.out.println("encode_test===" + sound);
> でコンソールに吐き出すと
> trace   :3F3F3F41(8859_1の文字コード)
> になってしまい文字化けしてしまいます。
> 
> なぜ、8859_1の文字コードになってしまうのか理解できません。

よくわからないのですが、環境変数 LANG はどうなっていますか?

export LANG=ja_JP.eucJP などと設定しても同じでしょうか?

-- 
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.ss.iij4u.or.jp/~eyasuyuk/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)