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

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



えんどうです。

>                          コンソール画面はEUC設定なのでsound_name(効果音A)
> はEUC_JPであることが解ります。

これは誤りです。

変数 sound_name には Unicode で格納されています。

System.out.println() が EUC-JP に変換しているだけです。

これはそのときの Locale が ja_JP.eucJP だからであり、
Shift_JIS の環境であれば Shift_JIS になります。

> SJISのバイナリデータを取得はできるのですがこれをnew Stringで文字列を生成
> するとバイナリデータの文字列になってしまいます。(当たり前ですよね...)

再度 String を生成しようとするのがうまく行かない原因な気がします。

バイナリーのまま write() メソッドでストリームに書き込めば良いのでは。

> どうしてもEUC_JPの文字列をSJISの文字列に変換することができません。

String型の変数には Unicode で格納されます。

出力前に1回だけ SJISのバイト列に変換して、
バイト列のまま write() メソッドで出力ストリームに書き込めばよいと思います。


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