Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

文字コードについて

以下の事について教えていただきたいのですが

UNIX上で動いているjavaのバッチがあります。
そのバッチの中でファイル出力しているのですが、
出力されたファイルの文字コードがシフトJISになっています。

その対象のソースを見てもエンコードしている箇所は見当たりませんでした。

どうしてEUCではなくシフトJISになるのか不思議でなりません。
ちなみにファイル出力データのDBのキャラクタセットはシフトJISです。
これが関係しているのでしょうか。

インターネットで調べてもプラットフォームに依存すると書いてあるのでEUCになると思っているのですが・・・。

どなたか教えていただけないでしょうか。

1

回答

3992

閲覧

1件の回答

評価

0

プラットフォームに依存するのは、文字コードを指定せずに、文字を文字として出力した場合だけ。
DBから得たデータをそのまま(文字扱いせずに)ファイルに流しているのかもしれない。

例えば、InputStream / OutputStreamに文字コードは存在せず、単なるバイト配列の流れでしかない。
これにInputStreamReader / OutputStreamWriterをかぶせた時に文字コードを指定する。

実は出力後にiconvなんかで変換してるだけってのは止めて欲しいところだけど。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。