- PR -

UNIXでの文字化けについて

1
投稿者投稿内容
OZ
常連さん
会議室デビュー日: 2006/02/27
投稿数: 45
投稿日時: 2006-02-27 20:24
皆様、初めまして。

現在、EJBの作成を行っています。
プログラム中でjava.util.logging.*を使用してログ出力を行っているのですが、
Windows上では正しく出力されるのですが、UNIX上で動作させると全角文字が
「???」と表示されます。

処理は以下のように行っています。
===========================================================
private Logger logger = Logger.getLogger("XXX");
private FileHandler fh = null;

fh = new FileHandler(LOGFILE + "_%g.log", 1400000, 3, true);
fh.setFormatter(new SimpleFormatter());
logger.addHandler(fh);
logger.setLevel(Level.INFO);
logger.log(Level.INFO, "テスト");
===========================================================

fh.setEncoding("8859_1");
を追加してみたり、文字コードをJISAutoDetect、ISO2022JP、8859_1としてみましたが、
文字化けは解消しませんでした。

対策がありましたらご教授頂けるでしょうか。

実行環境は、
クライアント:Windows2000Pro(SP4)、J2SE 1.4.2.07
サーバ:HP-UX11.23、J2EE 1.3
となります。

宜しくお願い致します。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-02-28 12:09
引用:

OZさんの書き込み (2006-02-27 20:24) より:
プログラム中でjava.util.logging.*を使用してログ出力を行っているのですが、
Windows上では正しく出力されるのですが、UNIX上で動作させると全角文字が
「???」と表示されます。


どうやって表示させたのですか? もし端末上で表示させたのであれば、端末の文字コードは
何になっていますか?

引用:

fh.setEncoding("8859_1");
を追加してみたり、文字コードをJISAutoDetect、ISO2022JP、8859_1としてみましたが、
文字化けは解消しませんでした。


これらが何を指しているか理解されているでしょうか。8859_1は日本語に対応した文字コード
ではありませんので、文字化けして当然です。HP-UXであればおそらくEUCかシフトJISでしょう
から、EUC-JPもしくはShift_JISを指定してみたらどうでしょうか。
OZ
常連さん
会議室デビュー日: 2006/02/27
投稿数: 45
投稿日時: 2006-02-28 17:48
ukさん、ありがとうございます。

表示は、UX上に出力されたログファイルをFTPで開発用クライアントに取り込み
エディタで確認しました。

8859_1を指定したのは、System.getProperty("file.encoding")で8859_1が
返って来たので、ファイルハンドルも同じコードに合わせれば文字化けが解消する
と考えたからです。

現在、開発環境の不具合で確認が行えないのですが、整い次第、EUC-JPとSJISで
試してみたいと思います。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-02-28 17:59
引用:

OZさんの書き込み (2006-02-28 17:48) より:
現在、開発環境の不具合で確認が行えないのですが、整い次第、EUC-JPとSJISで
試してみたいと思います。


ログファイルの文字コードを何にするか、ということは決まっていないのでしょうか。
まずはそこから確認する必要があると思うのですが。実際の運用に関わることですから、
現在とにかく見られれば良い、ということはないと思います。
OZ
常連さん
会議室デビュー日: 2006/02/27
投稿数: 45
投稿日時: 2006-03-01 15:56
検証が遅くなりました。

ukさんのアドバイス通り、SJISを試したところ上手く出力されました。
EUC-JPについては既に試していて上手くいかなかったため8859_1のような
訳の分からない事まで試し、途方に暮れていた次第です。

運用上は、Windowsマシンに取り込んでエディタで確認できれば良いという
仕様しか決まっていないため、SJISで出力しようと思います。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)